交互

一、交互的概念

交互是一种行为,它由特定上下文中共同完成一定任务的一组对象或角色之间交换的消息组成。

在 UML 中,通过结构事物对系统的静态方面建模,而交互用来对系统的行为方面建模。比方说类图描述了类与类之间的结构关系,但如果要指明结构内部的消息传递,则可以通过交互来说明。

对象和角色

交互是存在于对象或角色之间的行为,这些对象可以是特定对象,也可以是一个类的任何实例。这些对象在交互中都扮演一定的角色。

可以把对象图看做是交互发生的产所,通过在这些对象之间的链上传递消息来表示交互。

链和连接件

对象之间会有一些链,表明对象之间的关系,而连接件是抽象意义上的链。

链指明了一个对象向另一个对象(或自身)发送消息的路径。

消息和动作

消息是对象之间进行通信时的一种约定,这个约定说明了消息中期望发生的一些动作。

这些动作可能引发目标对象以及该对象可访问的其他对象的状态的改变。

消息中包含动作有以下几类:

  • 调用(call),调用某个对象的一个操作,对象也可以给自己发送消息,引起本地操作的调用。
  • 返回(return),给调用者返回一个值。
  • 发送(send),向对象发送一个信号。
  • 创建(create),创建一个对象。
  • 撤销(destroy),撤销一个对象,也可以撤销自身。 由上面几个动作可以发现,交互可能会创建、修改、销毁对象和链,从而使得组成交互的各个部分也具备了动态的生命周期。

二、交互的图形表示

交互作为一种行为,由消息组成,消息被表示为一条有方向的直线,直线之上带有这条消息期望的动作名称。图形表示如下: UML 交互
如上图所示,交互是在对象之间进行的,对象之间通过链连接,在链上是一条有向的直线用来表示消息,消息名称反映了期望的动作,并且通过消息序号描述了消息发生的顺序。另外可以看到,消息在交互中充当特定的角色,这些角色有具名角色和匿名角色之分。

从上图中,我们看到两条消息都期望调用类型的动作,我们还可以通过其他方式在视觉上来区分消息的其他动作,详细如下图所示: UML 消息动作

用户头像
登录后发表评论