UML第二部分和创建型模式

UML_Concept

1、状态视图

状态机对类的对象的可能生命历史建模 状态机包含由迁移连接的状态 每个状态对对

象生命期中的一段时间建模 该时间内对象满足一定的条件 当事件发生时 它可能导致

迁移的激发 使对象改变至新状态 当迁移激发时 附属于迁移的动作可能被执行 状态

机显示为状态图。

这张图片显示了某场演出戏票历史的状态图 票的初始状态的状态 在季度开始之前 季票订购者的座位被分配

当顾客选票时 交互 式购买的单张票被锁定 它或者被售出或在没有被选择的况下被解锁 如果顾客选票花 费太长时间

交易超时 座位被释放 季票订购者的场次可能会其它演出相交换 则该场次的座位会再度有效 。

状态机可以用于描述用户界面 设备控制和其它交互式子系统 它们还可用于在生命期

中经历了若干特定阶段 每个阶段拥有特殊的行为的对象。

2、活动视图

活动视图是用于显示执行某个计算过程中的运算活动的状态机的一种变形 活动状态表

现了一项活动 工作流的步骤或操作的执行 活动图描述了顺序和并发活动分组 活动视

图表达为活动图。

这张图片显示了票房例子中的活动图 该图展示了放映一场演出所包含的活动

箭头表示时间上的依赖例如指定演出时间表前必须选定节目横条表示了控制的分叉和连接

例如在演出安排完成后剧院可以并发的进行宣传 剧本购买艺术家雇佣 舞台搭建灯光设计和服装定制工作

在排练开始之前 剧本和艺术家必须到位。

该例子显示了现实世界中人员机构工作流的建模,商业建模是活动视图的主要目标,但

它还可用于对软件活动的建模,活动图能帮助理解系统的高层次的执行行为,无需顾虑活

动图中的消息传递细节。

动作的输入和输出参数可以显示成连接动作的流关系和对象流状态。

3、交互视图

交互视图描述了实现系统行为角色之间的消息交换序列 分类角色是对交互中充当特殊

角色的对象的描述 从而使该对象区别于相同类的对象 视图提供了系统中行为全局的描

述 ,它显示了多个对象间的控制流程 交互视图用侧重点不同的两种图来显示 顺序图

和协作图。

 

创建型模式(Builder 生成器)

 

1、Builder 生成器的起源

• 假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。

• 如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正色……

2、动机

在软件系统中,有时候面临着“一个复杂对象”的创建工作, 其通常由各个部分的子对象用一定的算法构成;

由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变 化,但是将它们组合在一起的算法却相对稳定。

如何应对这种变化?如何提供一种“封装机制”来隔离出“复 杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?

3、意图

将一个复杂对象的构建与其表示相分离,使得同样 的构建过程可以创建不同的表示。

4、Builder 模式的几个要点

• Builder 模式主要用于“分步骤构建一个复杂的对象”。在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。

• 变化点在哪里,封装哪里—— Builder模式主要在于应对“复杂对象各个部分”的频繁需求变动。其缺点在于难以应对“分步骤构建算法”的需求变动。

• Abstract Factory模式解决“系列对象”的需求变化,Builder模式解决“对象部分”的需求变化。Builder模式通常和Composite模式组合使用。

posted @ 2021-02-05 18:49  计应191西七组  阅读(46)  评论(0编辑  收藏  举报