设计模式--创建型模式比较
2016-06-13 22:46
162 查看
http://blog.csdn.net/myjoying/article/details/7884103
在GoF的《Design Patterns: Elements of Resuable Object-Oriented Software》中列举了5类创建型的设计模式,包括工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、生成器模式(Builder)、单件模式(Singleton)和原型模式(Prototype)。创建型模式,顾名思义,是关于类初始化管理,使系统可以不关心对象是如何创建、组成以及表示。
抽象工厂模式:提供创建相关的或者相互依赖的对象簇的接口,用户不用具体到该类簇实现的细节。
生成器模式:将一个复杂对象的创建过程和其具体的表示形式相分离,并可以让同一个生成过程产生出不同的对象。
工厂方法模式:提供创建对象的接口,但是将具体创建哪个对象的决定权交过其子类。
原型模式:通过原型实例来创建更多的相同的对象。
单件模式:将类对象的创建过程交给类本身,并只能生成一个对象。
在不同的设计要求下应该考虑不同的创建型的设计模式。个人认为除了原型模式和单件模式具有非常明显的特点,能够与其他创建型模式相互区分外,其他的三种模式在某种程度上存在相似之处。在考虑使用哪种创建型模式时,应该考虑应用的侧重点。下表给出了各种设计模式的应用场景和他们之间的差别。
在GoF的《Design Patterns: Elements of Resuable Object-Oriented Software》中列举了5类创建型的设计模式,包括工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、生成器模式(Builder)、单件模式(Singleton)和原型模式(Prototype)。创建型模式,顾名思义,是关于类初始化管理,使系统可以不关心对象是如何创建、组成以及表示。
抽象工厂模式:提供创建相关的或者相互依赖的对象簇的接口,用户不用具体到该类簇实现的细节。
生成器模式:将一个复杂对象的创建过程和其具体的表示形式相分离,并可以让同一个生成过程产生出不同的对象。
工厂方法模式:提供创建对象的接口,但是将具体创建哪个对象的决定权交过其子类。
原型模式:通过原型实例来创建更多的相同的对象。
单件模式:将类对象的创建过程交给类本身,并只能生成一个对象。
在不同的设计要求下应该考虑不同的创建型的设计模式。个人认为除了原型模式和单件模式具有非常明显的特点,能够与其他创建型模式相互区分外,其他的三种模式在某种程度上存在相似之处。在考虑使用哪种创建型模式时,应该考虑应用的侧重点。下表给出了各种设计模式的应用场景和他们之间的差别。
相关文章推荐
- Java内存模型 之三个特性:
- PHP函数
- Android模拟器访问本地的localhost失败及解决方案
- Android自定义控件实战——水流波动效果的实现WaveView
- 自定义控件之图片适配RatioLayout
- 漫谈前端之路
- ORACLE如何创建表空间和用户
- PHP基础
- 单例模式实现
- 第3章 体会和表达感受
- 关于arguments对象的一些用法
- Maven nexus 安装nexus私服出现的两个问题
- iOS开发小技巧-修改SliderBar指针的样式(牢记这个方法,只能通过代码来修改)
- Makefile实例print "hello world"
- LeetCode-104 Maximum Depth of Binary Tree
- zabbix Trapper 监控项配置
- zabbix Trapper 监控项配置
- 改变窗口所在的进程:android:process属性解析
- 对于Android开发中Eclipse出现的“heap space”的问题
- 2016第25周一