Java开发中的23种设计模式:创建类模式总结篇
2013-10-07 16:32
417 查看
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象。创建类模式有5种,分别是:
单例模式:用于得到内存中的唯一对象。
工厂方法模式:用于创建复杂对象。
抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。
建造者模式:用于创建模块化的更加复杂的对象。
原型模式:用于得到一个对象的拷贝。
为什么需要创建性模式
首先,在编程中,对象的创建通常是一件比较复杂的事,因为,为了达到降低耦合的目的,我们通常采用面向抽象编程的方式,对象间的关系不会硬编码到类中,而是等到调用的时候再进行组装,这样虽然降低了对象间的耦合,提高了对象复用的可能,但在一定程度上将组装类的任务都交给了最终调用的客户端程序,大大增加了客户端程序的复杂度。采用创建类模式的优点之一就是将组装对象的过程封装到一个单独的类中,这样,既不会增加对象间的耦合,又可以最大限度的减小客户端的负担。
其次,使用普通的方式创建对象,一般都是返回一个具体的对象,即所谓的面向实现编程,这与设计模式原则是相违背的。采用创建类模式则可以实现面向抽象编程。客户端要求的只是一个抽象的类型,具体返回什么样的对象,由创建者来决定。
再次,可以对创建对象的过程进行优化,客户端关注的只是得到对象,对对象的创建过程则不关心,因此,创建者可以对创建的过程进行优化,例如在特定条件下,如果使用单例模式或者是使用原型模式,都可以优化系统的性能。
总结
所有的创建类模式本质上都是对对象的创建过程进行封装。
单例模式:用于得到内存中的唯一对象。
工厂方法模式:用于创建复杂对象。
抽象工厂模式:用于创建一组相关或相互依赖的复杂对象。
建造者模式:用于创建模块化的更加复杂的对象。
原型模式:用于得到一个对象的拷贝。
为什么需要创建性模式
首先,在编程中,对象的创建通常是一件比较复杂的事,因为,为了达到降低耦合的目的,我们通常采用面向抽象编程的方式,对象间的关系不会硬编码到类中,而是等到调用的时候再进行组装,这样虽然降低了对象间的耦合,提高了对象复用的可能,但在一定程度上将组装类的任务都交给了最终调用的客户端程序,大大增加了客户端程序的复杂度。采用创建类模式的优点之一就是将组装对象的过程封装到一个单独的类中,这样,既不会增加对象间的耦合,又可以最大限度的减小客户端的负担。
其次,使用普通的方式创建对象,一般都是返回一个具体的对象,即所谓的面向实现编程,这与设计模式原则是相违背的。采用创建类模式则可以实现面向抽象编程。客户端要求的只是一个抽象的类型,具体返回什么样的对象,由创建者来决定。
再次,可以对创建对象的过程进行优化,客户端关注的只是得到对象,对对象的创建过程则不关心,因此,创建者可以对创建的过程进行优化,例如在特定条件下,如果使用单例模式或者是使用原型模式,都可以优化系统的性能。
总结
所有的创建类模式本质上都是对对象的创建过程进行封装。
相关文章推荐
- 访问者模式讨论篇:java的动态绑定与双分派
- 【Java工程师之路】[1-3.3]Java集合框架
- Spring.net 在mvc中的用法
- 如何创建不可变的Java类或对象
- Java动态代理
- Java序列化和克隆
- Eclipse搭建Spring开发环境
- Overload 和 Override 的区别
- 日历分析(一) java中的日期类
- java初探native
- 《Java虚拟机规范》阅读(三):Class文件格式
- java实现的一个简单日历
- struts2环境配置
- 【Java工程师之路】[1-3.2]java jar工具
- Eclipse 高亮显示选中的相同变量
- 【Java工程师之路】[1-3.1]java注解
- 【Struts2配置文件的配置】
- 【struts标签+jstl标签之国际化实例】
- 【Struts轻松搞定多文件上传】
- Java写贪吃蛇游戏,用双缓冲重写update方法解决了闪烁问题,有出现了这个问题……