UML交互图
目标:
- 为快速使用UML交互图表示法提供参考。
UML使用交互图来描述对象的交互。交互图可以用于动态对象建模。交互图有两种类型:顺序图和通信图。
顺序图和通信图
交互图这一术语时对以下两种更为特化的UML图的统称:
- 顺序图
- 通信图 这两种图形都能够表示类似的交互。另一种相关的图时交互总览图,改图为在逻辑和过程流方面相关的一组交互图提供了全景总览。
对应于交互图的代码
public class A
{
private B myB = new B();
public void doOne()
{
myB.doTwo();
myB.doThree();
}
}
顺序图以一种栅栏格式描述交互,其中在右侧添加新创建的对象。

通信图以图或网络格式描述对象交互,其中对象可以置于途中的任何位置。

顺序图与通信图的优点和缺点
| 类型 | 优势 | 劣势 |
|---|---|---|
| 顺序图 | 能够清晰表示消息的顺序和时间排序 大量详细表示法选项 |
强制在右侧增加新对象;消耗水平空间 |
| 通信图 | 空间效用-能够在二维空间内灵活地增加新对象 | 不易查阅消息的顺序图 表示法选项较少 |
UML建模初学者没有对交互图给与足够重视
尽管静态视图类图确实有效,但动态视图的交互图的交织更高。因为当我们要考虑真正的OO设计细节时,就必须要“落实”发送哪些消息、发送给谁、以何种顺序发送等具体问题。
应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模。
常用的UML交互图表示法
使用生命线框图表示参与者
认为生命线框图等于类的实例并不十分惊奇,但在非正式描述和实践中,通常会这样揭示这些参与者。

消息表达式的基本语法
return = message(parameter:parameterType):returnType
没有参与式可以省略括号,这是合法的。如果明显或不重要,可以不包含类型信息。
单实例对象
在OO设计模式的世界中,有一种特别常用的模式,称为单实例类模型。
