码迷,mamicode.com
首页 > 其他好文 > 详细

uml创建型模式总结

时间:2021-02-20 12:06:16      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:生成器   依赖   处理   策略   实体   具体类   工厂方法   tab   模式   

创建型模式:

 模式分类

 目的:

 创建型(Creational)模式:负责对象创建

 结构型(Structural)模式:处理类与对象间的组合

 行为型(Behavioral)模式:类与对象交互中的职责分配

 范围:

 类模式处理类与子类的静态关系

 对象模式处理对象间的动态关系

 

Singleton 单件:   保证一个类仅有一个实例,并提供一个该实例的全局访问点

Abstract Factory 抽象工厂模式:  提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定它们具体的类。

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

Factory Method 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟到子类。

Prototype 原型模式: 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。

名称 要点
Singleton 单件

1.Singleton模式中的实例构造器可以设置为protected以允许子类派生。

2.Singleton模式一般不要支持ICloneable接口,因为这可能会导致多个对象实例,与Singleton模式的初衷违背。

3.Singleton模式一般不要支持序列化,因为这也有可能导致多个对象实例,同样与Singleton模式的初衷违背。

4.Singleton模式只考虑到了对象创建的管理,没有考虑对象销毁的管理。就支持垃圾回收平台和对象的开销来讲,我们一般没有必要对其销毁进行特殊的管理。

5.不能应对多线程环境:在多线程环境下,使用Singleton模式仍然有可能得到Singleton类的多个实例对象。

Abstract Factory 抽象工厂模式

1.如果没有应对“多系列对象创建”的需求变化,则没有必要使用AbstractFactory模式,这时候使用简单的静态工厂完全可以。

2."系列对象"指的是这些对象之间有相互依赖、或作用的关系,例如游戏开发场景中“道路”与“房屋”的依赖,“道路”与“地道”的依赖。

3.AbstractFactory模式主要在于应对“新系列”的需求变动。其缺点在于难以应对“新对象”的需求变动。

4.AbstractFactory模式经常喝FactoryMethod模式共同组合来应对“对象创建”的需求变化。

Builder 生成器模式

1.Builder模式主要用于“分步骤构建一个复杂的对象”。在这其中“分步骤”是一个稳定的算法(即Director,如上面例子中的GameManager),而复杂对象的各个部分(即ConcreteBuilder)则经常变化。

2.变化点在哪里,封装哪里——Builder模式主要在于应对“复杂对象各个部分”的频繁需求变动。其缺点在于难以应对“分步骤构建算法”的需求变动。(例如房屋构造如果经常改变,那么这个Builder模式也没有意义了)

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

Factory Method 工厂方法模式

1.Factory Method模式主要用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个经常变化的具体类型,紧耦合关系会导致软件的脆弱。

2.Factory Method模式通过面向对象的手法,将所要创建的具体对象工作延迟到子类,从而实现一种扩展(而非更改)的策略,较好地解决了这种紧耦合关系。

Prototype 原型模式

1.Prototype模式同样用于隔离类对象的使用者和具体类型(易变类)之间的耦合关系,它同样要求这些“易变类”拥有“稳定的接口”。

2.Prototype模式对于“如何创建易变类的实体对象”(创建型模式除了Singleton模式以外,都是用于解决创建易变类的实体对象的问题的)采用“原型克隆”的方法来做,它使得我们可以非常灵活地动态创建“拥有某些稳定接口”的新对象——所需工作仅仅是注册一个新类的对象(即原型),然后在任何需要的地方不断地Clone。

3.Prototype模式中的Clone方法可以利用.NET中的Object类的MemberwiseClone()方法或者序列化来实现深拷贝。

 

 

UML:

物理视图:

物理视图对应自身的结构实现建模,图中的类将会映射称为物理结构中的节点。物理视图分为实现视图和部署视图。实现视图为系统中的构件建模,以及构件之间的依赖关系,通过对依赖关系修改评估对系统可能带来的影响。图例:

技术图片

模型管理视图:

它是对模型自身组织的建模。模型是从某一观点以一定精确度对系统所进行的完整性描述。图例:

技术图片

 

uml创建型模式总结

标签:生成器   依赖   处理   策略   实体   具体类   工厂方法   tab   模式   

原文地址:https://www.cnblogs.com/jyzj/p/14415557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!