资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第七章 类的行为和交互,状态无关行为和状态相关行为,类行为可以分为两个基本的类别:,状态相关行为,可以在多个状态上发生,并且根据不同的当前状态可以执行不同的动作,使用状态模型表示,状态无关行为,这些行为的执行过程并不依赖于特定对象的当前状态,使用操作表示,行为的例子,使用操作的场合,需要执行的处理过程与特定对象的状态无关;,需要执行的处理过程不影响特定对象的状态;,需要执行的处理过程是多个状态动作所共有的,并且处理过程必须在动作结束之前结束;,有必要调用一个或多个其它域提供的服务;,操作,使用通过操作提供的服务,对操作的调用是同步的,即调用者必须等待操作结束后才可以继续执行;,可以传送输入参数给操作;,操作可以返回输出参数(在xUML中允许多个输出参数);,执行结果导致的行为不受操作执行对象的状态影响;,操作通常在类的某个实例对象上执行 这样的操作称为对象操作;,操作也可以在类的所有对象组成的整体上执行 这样的操作称为类操作;,操作可以定义在域级别执行 这样的操作称为域操作;,信号,使用通过信号提供的服务,发送信号给对象是异步的,输入参数可以与信号一起发送,不允许有输出参数,因为对于异步交互而言它们没有意义,信号发送导致的行为依赖于接收信号的对象的状态,信号总是发送给一个特定的对象,带有信号的类图,顺序图的例子,对象协作图的例子,终端,每一终端可以是传入域的消息的源头或是传出域的消息的接收者。,可用接口(provided interface)。,从终端进入域的消息定义了域提供给客户的服务。,所有的进入的消息定义了一个可用接口。,所需接口(required interface),从域发出给终端的消息指明了该域需要其它域执行的操作。,发送给一个终端的所有消息定义了一个所需接口,组装时,必须在所需接口中的服务和可用接口中的服务之间建立桥梁。,顺序图在构建CCM时的角色,可以使用域层次顺序图为每一个域建立CCM。步骤如下:,使用进入消息的源头和离开消息的目的地来寻找类,反映外部实体,或者其它域提供的服务,终端的名称应是从该域的视点看到的发送者和接收者的名字,分析主动激励 并将它引导到最适于处理该激励的类中,依照用例确定的接口,继续调用其它类或类的操作,或者将信号传输给其它类或类;,为从该系统用例中找到的每一个主动激励重复以上步骤。,CCM的层次,类分成不同的层次。,准则是基于它们封装了多少关于它们所在领域的智能,或它们在与其它类协作时担当多少责任。,类协作图的布局惯例是将责任较大的类放在左边,而将责任较小的类放在右边。,
展开阅读全文