博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模式--创建型
阅读量:6233 次
发布时间:2019-06-22

本文共 1109 字,大约阅读时间需要 3 分钟。

创建型
  • Abstract Factory(抽象工厂模式)
  • Builder(生成器模式)
  • Factory Method(工厂模式)
  • Singleton(单件模式)
  • Prototype(原型模式)

 

名  称

Abstract Factory(

抽象工厂模式

意  图

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

适  用

环  境

一个系统要独立于它的产品的创建、组合和表示时。

一个系统要由多个产品系列中的一个来配置时。

当你要强调一系列相关的产品对象的设计以便进行联合使用时。

当你提供一个产品类库,而只想显示它们的接口而不是实现时。

结  构

image001.jpg

名  称

Builder(

生成器模式

意  图

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

适  用

环  境

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。

当构造过程必须允许被构造的对象有不同的表示时。

结  构

image002.jpg

协  作

关  系

image003.gif

名  称

Factory Method(

工厂模式

意  图

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

适  用

环  境

当一个类不知道它所必须创建的对象的类的时候。

当一个类希望由它的子类来指定它所创建的对象的时候。

当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类

是代理者这一信息局部化的时候。

结  构

image004.gif

名  称

Singleton(

单件模式

意  图

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

适  用

环  境

当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。

当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。

结  构

image005.gif

名  称

Prototype(

原型模式

意  图

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

适  用

环  境

当一个系统应该独立于它的产品创建、构成和表示时,要使用Prototype模式;以及:

当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者为了避免创建一个与产品类层次平行的工厂类层次时;或者 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们

可能比每次用合适的状态手工实例化该类更方便一些。

结  构

image006.gif

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/06/12/423992.html如需转载请自行联系原作者
kenty
你可能感兴趣的文章
安装CentOS 7时出现No Caching mode page found问题的解决
查看>>
iOS开发UI篇—Quartz2D使用(绘图路径)
查看>>
esnext:Function.prototype.toString 终于有规范了
查看>>
nginx源代码分析--从源代码看nginx框架总结
查看>>
Arcgis for Js实现graphiclayer的空间查询
查看>>
3.2 re--正則表達式操作(Regular expression operations)
查看>>
HDU 1018 Big Number (log函数求数的位数)
查看>>
CSS3盒子模型
查看>>
毕业课题之------------路面区域增强和总体检測过程
查看>>
C#中一些字符串操作的经常使用使用方法
查看>>
ExtJs4.1布局具体解释
查看>>
jQuery 插件开发全解析
查看>>
DEDE中 field:rel 是什么意思,起一个什么样的作用效果
查看>>
【图片】批量获取几万张图片
查看>>
Spring经常使用属性的注入及属性编辑器
查看>>
FreeRTOS系列第13篇---FreeRTOS内核控制
查看>>
python入门小记
查看>>
将逻辑卷降为物理分区
查看>>
CMake 入门实战【转】
查看>>
软硬件之共生之道——一千零一夜的启发
查看>>