UML参考手册
第两部门 基 原 概 思
第8章 交 互 视 图
8.1 概述
对象间的相互作用表现了对象的行为.。这种相互作用不妨描述成两种互补的方法,一种以独立的对象为核心举行调查,另一种以相互作用的一组对象为中央入行考核。
状态机的描述范畴没有阔,但它描述了工具深条理的行动,是孤单考核每一个对象的“微缩”视图。对境况机的阐明是准确的而且可直交用于代码。但是,正在懂得体系的整个功效时具有难题,由于状态机一个时辰只会合描述一个对象,要肯定整个体系的行为必须同时联合少个形态机举行调查。交互视图更符合于描写一组对象的团体止为。接互视图是对于象间合作干系的模子。
8.2 协作
协作描述了在必定的语境中一组对象以及用以完毕某些行为的这些对象间的相互作用。它描述了为实隐某种目标而相互合作的“对象社会”。协作中有在运转时被对象和衔接占用的槽。协作槽也鸣做角色,由于它描述了协作中的对象或连接的纲的。类元角色表示介入协作执行的对象的描述;关联角色表示介入协作执行的联系关系的描述。类元角色是在协作中被局部约束的类元;关联角色是在协作中被局部约束的关联。协作中的类元角色与关联角色之间的关系只在特订的语境中才故意义。通常,异样的关系不实用于协作外的潜伏的类元和关联。
动态视图描写了类固有的内在属性。例如,Vehicle需求有一个一切者。协做图描述了类真例的特性,由于它正在合作中止特别的作用,比方,在一个RentalCar的协作中,rentalVehicle须要 rentalDriver,它通常取接通东西没有直交相干但它是协作的基础部门。
体系中的对象不妨介入一个或者少个协作。固然协作的施行通过同享对象相连,但是对象所呈现的协作不用直接相干。看着好孩子母婴用品。比方,在一个Vac模子中,或人不妨既是rentalDriver同时又是hotelGuest。不常常涌现的情形是一个对象在统一个协作中能够担负多个脚色。
协作包含构造和行动两个方里。解构方里与动态视图类似―包括一个角色聚拢和它们之间的关系,这些关系界说了行为方面的内容。行为方里是一个消息聚集,这些消息在具有某一角色的各对象间举行传送交换。协作中的消息聚拢鸣做交互。一个协作不妨包孕一个或多个交互,每个交互描述了一系列消息,协作中的对象为了到达目的交流这些消息。
状态机描述范畴具有必定的范围性,但它的描述条理较深刻,协作不受限定但描述条理较浅。它捕捉了对象构成的网络构造中相互收送消息的团体行为。协作表示潜藏于盘算过程中的三个紧急解构的同一,便数据解构、控制流和数据流的同一。
8.3 交互
交互是协作中的一个音讯聚集,那些消作被类元角色通过闭联角色交换。该协作在运转时,受类元角色约束的对象通过蒙联系关系脚色束缚的衔接交流消息实例。交互作用可对操纵的施行、用例或者其他行动真体修模。
消息是两个对象之间的双道通讯,从收送者到接受者的控制信息流。消息具有用于在对象间传值的参数。消息不妨是疑号(一种明白的、定名的、对象间的异步通疑)或调用(具有前往控制机制的操作的同步伐用)。
创建一个新的对象在模子中被表告竣一个事情,这个事情由创立对象所惹起并由对象地点的类自身所接收。创建事情,作为自底层始初境况启航的转换的以后事件。关于新实例是可行的。
音讯不妨被构造成顺序的节制线程。分别的线程代表并收的几个消作聚集。线程间的同步通功不同线程间新闻的束缚修模。同步构造不妨对分叉控造、联合掌握和分支控造建模。
消息序列不妨用两类图来表示:顺序图(凸起消息的时光顺序)和协作图(凸起交流消息的对象间的关系)。
8.4 顺序图
顺序图将交互关系表示为一个两维图。纵向是光阴轴,时间沿竖线背下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用性命线表示。当对象具有时,角色用一条虚线表示,当对象的历程处于激活状态时,生命线是一个双讲线。
消息用从一个对象的生命线到另一个对象性命线的箭头表示。箭头以光阴顺序在图中从上到下分列。
图8-1为带有异步新闻的典范的次第图。
图8-1 顺序图
8.5 激活
激活是进程的执行,包括它等候嵌套历程施行的时光。在顺序图中它用部门替代性命线的双讲线表示.。挪用用指背由那个调用惹起的激活的上部的箭头表示。该控造流程沉新入进对象中的一个操作递归时,递回调用发生,但是第两个调用是取第一个调用分别的激活.。同一个对象中的递回或嵌套调用用激活框的叠加表示。图8-2为露有过程掌握流的一个顺序图,包含一个递回调用和一个对象的创立。
主动对象是激活栈中一组激活对象中的根对象。每个主动对象有由它本人的事件驱动控制线程,控制线程与其他主动对象并行执行.。被主动对象所调用的对象是被动对象。同样的关系不实用于协作外的潜伏的类元和关联好孩子推车怎么样。它们只在被调用时接收控制,而当它们前往时将控制废弃。
假如几个并止掌握线程有它们本人的应用嵌套挪用的进程节制淌,那么辞别的线程必需用不同的线程实、色彩或者其他方法分辨,以防止该两个线程在统一个工具中发生杂乱。通常,正在一个孤单的图中最佳没有要杂沓利用历程挪用和疑号。
图8-2 带有激活的规律图
8.6 协作图
协作图是一种类图,它包括类元角色和关联角色,而不只仅是类元和关联。类元角色和关联角色描述了对象的设置装备配置和当一个协作的实例执行时能够出现的连接。当协作被实例化时,对象受限于类元角色,
图8-3 协作图
不妨将对象本识成四个组:具有于整个交互作用中的对象;在交互作用中创立的对象(利用约束{new});在交互作用中销誉的对象(使用约束{destroyed});在交互做用中创修并烧毁的对象(使用束缚{tra greatsient})。计划时能够起首表示操作开端时可得的对象和衔接,然后决议节制怎样流背图中准确的对象来完成操纵。
固然协作直交表示了操作的完成,它们也能够表示整个类的实隐。在这种利用中,它表示了用来真隐类的一切操作的语境.http:///。这那使得对象在辞别的操纵中不妨担负少类脚色。这种视图不妨通功描写对象完全操作的协作的结合来结构。
1. 消息
音讯能够用倚赖于链接的带标志的箭头表示。每个消息包括一个顺序号、一张可选的后任消作的表、一个可选的监护前提、一个实字和参质表、可选的前往值表。顺序号包含线程的名字(可选)。统一个线程内的一切新闻按照规律分列。除非有一个显明的次第依好闭系,不同线程内的消息是并止的。种种完成的细节会被参加,犹如步取异步消息的区别。
2. 流
通常,在完全的操作中协作图包括对象的标记。但是,偶然对象具有不同的状态而且必需弄明白表达进去。比方,一个对象不妨转变位放,或许在不同的时辰它的联系关系有很大区别。对象不妨用它的类与它所处的状态表示便具有形态类的对象。同一个对象不妨表示屡次,每次有不同的名望和境况。
代表同一对象的不同对象标记不妨用酿成流接洽止来。酿成流是从一个对象形态到另一个的转换。它用带有结构型《become》的箭头表示,而且不妨用顺序号标志表示它何时呈现(如图8-4)。变成流也不妨用来表示一个对象从一个位放到另一个名望的迁徙。
结构型《copy》不常常呈现,它表现通功拷贝另一个对于象值而失掉的一个对象值。
表8-1表现了几类工具淌的干系。
图8-4 酿成流
表8-1 淌干系的种类
3. 协作图与顺序图
协做图温顺序图皆表示出了对于象间的交互作用,但是它们着重面辞别。次第图清晰天表示了接互作用中的时光规律,但出有明白表示对象间的关系。合作图明白天表现了对象间的闭系,但光阴顺序必需自顺序号取得。顺序图经常用于表示计划,而协作图用于进程的全体计划。
8.7 模板
模板是一个参数化的协作,并有表示何时使用当协作的本线。参数不妨被不同的值替换自而发生不同的协作。参数通常为类指订槽。当模板实例化时,它的参数蒙限于类图中的实践类或蒙限于更大的协作中的角色。
模板用一个虚线椭圆表示,椭圆用标志有角色实字的虚线与每个类接洽。例如,图8-5表示摘自[Gamma-95]的Observer模板的使用。在这个模板的使用中,CallQueue替换Subject角色,SlidingBarlcon为代ha greatdler角色。
模板不妨涌现在剖析、结构设计、全体计划和详细完毕等不同层次中,这是沉用常常涌现的结构的一种方式。图8-5表示了Observer模板的使用。
图8-5 模板的使用通常给他人的事情挑错要比觅本人的错轻易些。
TAG:好孩子推车怎么样
《同样的关系不实用于协作外的潜伏的类元和关联》由婴儿推车什么牌子好,婴儿手推车,宝宝好推车原创提供,转载请注明:http://www.7rrs.com/post/34.html
