我爱Aspx >> VC.Net >> 第8章 交 互 视 图第8章 交 互 视 图
概述
对象间的相互作用体现了对象的行为。这种相互作用可以描述成两种互补的方式,一种以独立的对象为中心进行考察,另一种以互相作用的一组对象为中心进行考察。
状态机的描述范围不宽,但它描述了对象深层次的行为,是单独考察每一个对象的“微缩”视图。对状态机的说明是精确的并且可直接用于代码。然而,在理解系统的整个功能时存在困难,因为状态机一个时刻只集中描述一个对象,要确定整个系统的行为必需同时结合多个状态机进行考察。交互视图更适合于描述一组对象的整体行为。交互视图是对象间协作关系的模型。
8.2 协作
协作描述了在一定的语境中一组对象以及用以实现某些行为的这些对象间的相互作用。它描述了为实现某种目的而相互合作的“对象社会”。协作中有在运行时被对象和连接占用的槽。协作槽也叫做角色,因为它描述了协作中的对象或连接的目的。类元角色表示参与协作执行的对象的描述;关联角色表示参与协作执行的关联的描述。类元角色是在协作中被部分约束的类元;关联角色是在协作中被部分约束的关联。协作中的类元角色与关联角色之间的关系只在特定的语境中才有意义。通常,同样的关系不适用于协作外的潜在的类元和关联。
静态视图描述了类固有的内在属性。例如,Vehicle 需要有一个所有者。协作图描述了类实例的特性,因为它在协作中起特殊的作用,例如,在一个RentalCar的协作中,rentalVehicle 需要 rentalDriver,它通常与交通工具不直接相关但它是协作的基本部分。
系统中的对象可以参与一个或多个协作。虽然协作的执行通过共享对象相连,但是对象所出现的协作不必直接相关。例如,在一个Vacation模型中,某人可以既是rental Driver同时又是hotelGuest。不经常出现的情况是一个对象在同一个协作中可能担当多个角色。
合作包括结构和行为两个方面。结构方面与静态视图相似—包含一个角色集合和它们之间的关系,这些关系定义了行为方面的内容。行为方面是一个消息集合,这些消息在具有某一角色的各对象间进行传递交换。协作中的消息集合叫做交互。一个协作可以包含一个或多个交互,每个交互描述了一系列消息,协作中的对象为了达到目标交换这些消息。
【我对这篇文章有话说?】
第7章 活 动 视 图[05-21]
第4章 静 态 视 图[05-21]
第5章 用 例 视 图[05-21]
第3章 UML初览[05-21]
第2章 模型的性质与目标[05-21]
第1章 UML综述[05-21]
用Junit Framework编写单元测试[05-21]
对象式程序设计方法 作者:夏寒[05-21]
用Junit Framework编写单元测试[05-21]
软件开发与数学证明[05-21]