第三次作业

一、UML第二部分总结:

1.状态机视图:

状态机视图通过对每个类的对象的生命周期进行建模,描述了对象时间上的动态行为。其中状态指的是就某个特定类而言,对于发生的时间具有相同性质相应的一系列对象值(即:同一状态的所有对象会以相同的方式作出相应)。状态机可以描述类的行为,也可以描述用例、协作和方法的行为。

事件是具有事件和空间位置的显著发生的某件事。(发生在时间点;不具有持续时间。)存在结果就建模成事件;单独使用时,事件指的是对所有具有相同一班形式事件个体的描述。

事件划分成显示和隐式的种类:信号事件、调用事件、变更事件和时间事件。状态描述了对象生命周期的一段时间,用三个方面指定,一系列状态由迁移来连接。迁移具有事件触发、迁移条件、动作和目标状态。

迁移的种类有进入动作、退出动作、外部迁移和内部迁移;动作的种类有赋值、调用、创建、销毁、返回发送终止、未解释。

简单状态是无子结构(智有若干迁移和可能的进入和退出动作,而复合状态可以分解成连续的或者并发的子状态)其中复合状态的种类有九种。

2.活动视图:

活动视图是状态机的一种对计算机和工作流建模的特殊形式。和其他视图相比,它不显示所有运算的细节,它显示活动的流不显示执行活动的对象。

活动图的状态代表了运算执行的状态(通常无外边界);活动图包含活动状态(表现了过程中语句的执行或工作流中活动的运行)。

活动图可能包含动作状态、分支以及并发线索中控制的分叉(动作状态和活动状态相似,前者是原子的,活动时不允许迁移,常用于短时间的记录操作)

3.交互视图:

交互视图提供了描述一系列对象行为更为全局的视图,用协作建模。(协作是对上下文中交互实现某种行为对象群体的描述)

协作的角色有分类角色(代表了对参与协作执行的对象的描述)和关联角色(代表了对参与协作执行的链的描述)而协作视图中的交互是在协作中由分类角色通过关联角色进行交换的一系列消息。

协作图包含分类和关联角色,非仅包含它们,其目的是对实现协作的对象和链进行建模,忽略其他对象,它清晰的显示了对象间的关系但时间次序必须从顺序号获得,因此在显示过程设计细节中更适用。顺序图就清晰的显示了时间次序,但不显式指明对象间的关系。常用于场景显示。

二、创建型设计模式:

就是用来创建对象的设计模式,根据要创建的对象的复杂度以及是否允许多实例以及是否需要容易扩展等多方面考虑去选择合适的设计模式来创建对象。

Summary#单例模式(Singleton)#需要保证保证一个类仅有一个实例的时候需要考虑使用单例模式,搭配依赖注入框架使用会更香哈。

原型模式(Prototype)#对象频繁复制,对象的大多数元素(属性/字段)相同,需要频繁创建对象考虑使用原型模式,让对象创建更容易,需要注意深复制浅复制区别。

建造者模式(Builder)#对象比较复杂,需要大量的配置参数,创建过程复杂,考虑使用建造者模式,让复杂的创建过程简单化。抽象工厂(AbstractFactory)#抽象工厂,提供一系列相关或相互依赖对象的接口,而无需指定他们具体的类,由具体的工厂创建具体类型的实例。

工厂方法(FactoryMethod)#工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到子类。类的创建由具体的工厂相应的方法创建具体的实例。

More#抽象工厂的工厂是类;工厂方法的工厂是方法。抽象工厂关键在于产品之间的抽象关系,所以一般至少要两个产品;工厂方法在于生成产品,不关注产品间的关系,所以可以只生成一个产品。  

posted @ 2021-02-05 20:52  优秀的优  阅读(98)  评论(0编辑  收藏  举报