设计模式之创建类模式总结
2015-09-14 09:30
232 查看
创建类模式主要关注:
对象的创建过程,将对象的创建过程进行封装,使客户端直接得到对象,而不用去关心创建对象的细节。创建类模式有5种:
单例模式(Singleton):用于得到内存中唯一对象
工厂方法模式(Factory method):
用于创建复杂对象
抽象工厂模式(Abstract factory):
用于创建一组相关或相互依赖的复杂对象
建造者模式(Builder):
用于创建模块化的更加复杂的对象
原型模式(Prototype):
用于得到对象的一个拷贝
为什么需要创建性模式:
(1)在编程中,对象的创建是一件比较复杂的事,因为,为了达到降低耦合的目的,我们通常采用面向抽象编程,对象间的关系不会硬编码到类中,而是等到调用的时间再进行组装,这样虽然降低了对象间的耦合,提高了对象的复用性,但是在一定程度上将组装类的任务都交给了最终调用的客户端程序,大大的增加了客户端的复杂度。采用创建型模式的优点之一就是将组装对象的过程封装到一个独立的类中,这样既不会增加对象间的耦合,又可以最大限度的减小客户端的负担(2)使用普通的方式创建对象,一般都是返回一个具体的对象,即面向实现编程,这与设计模式原则是相违背的。采用创建类模式则可以实现面向抽象编程。客户端要求的只是一个抽象的类型,具体返回什么样的对象,由创建者自己决定。
(3)可以对创建对象的过程进行优化,客户端关注的只是得到对象,对对象的创建过程则不关心,因此,创建者可以对创建的过程进行优化。例如,在特定的条件下,单例模式和原型模式都可以优化系统的性能。
总结:
所有的创建类模式本质上都是对对象的创建过程进行封装。相关文章推荐
- Unable to execute dex: Multiple dex files define 解决方法
- 学习资料(1)-学习网站,Linux,Git,博客
- Android下findViewById遇到空指针异常
- git 放弃本地修改 强制更新
- [转]最快速度找到内存泄漏
- 优先队列 POJ 3253 Fence Repair
- 单例模式简介及在WinForm编程中的实现方法
- 推荐两个界面原型设计工具--GUIDesignStudio 和 Mockups For Desktop
- PCM数据格式
- 从PEE模式进入VLPS/LLS唤醒之后的状态
- 加班
- project.pbxproj,最熟悉的”陌生人”
- php 邮件发送代码-php邮件群发
- leetcode-30 Substring with Concatenation of All Words
- Thinkphp基类库扩展
- 拖拽产生tableViewCell
- bat文件重启SQL服务和IIS服务
- jquery实现鼠标点击后展开列表内容的导航栏效果
- HDU 5443 The Water Problem(水题 找区间最大值)——2015 ACM/ICPC Asia Regional Changchun Online
- 安卓 更新 fragment 里面 控件