转自:http://blog.youkuaiyun.com/zhengzhb/article/details/7393557
创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户端可以直接得到对象,而不用去关心如何创建对象,创建类模式有5钟,分别是:
1、单例模式:用于得到内存中唯一的对象。
2、工厂方法模式:用于创建复杂对象。
3、抽象工厂模式:用于创建一组相关或者互相依赖的复杂对象。
4、建造者模式:用于创建模块化的更加复杂的对象。
5、原型模式:用于得到一个对象的拷贝。
为什么需要创建型模式
首先,在编程中,对象的创建通常是一件比较复杂的事,因为为了达到降低耦合度的目的,我们通常采用面向抽象编程的方式,对象间的关系不会硬编码到类中,而是等调用的时候再进行组装,这样虽然降低了对象间的耦合,提高了对象复用的可能,但在一定程度上将组装类的任务都交给了最终调用的客户端程序,大大增加了客户端程序的复杂度,采用创建类模式的优点之一就是将组装对象的过程封装到一个单独的类中,这样既不会增加对象间的耦合,又可以最大限度的减少客户端的负担。
其次,使用普通的方式创建对象,一般都是返回一个具体的对象,既所谓的面向实现编程,这与设计模式原则是相违背的,采用创建类模式则可以实现面向抽象编程。客户端要求的只是一个抽象类型,具体返回什么样的对象,由创建者来决定。
再次,可以对创建对象的过程进行优化,客户端关注的只是得到对象,对对象的创建过程则不需要关心,因此创建者可以对创建过程进行优化,比如在特定的条件下,如果使用单例模式或者使用原型模式,都可以优化系统的性能。
总结
所有的创建类模式本质上都是对对象的创建过程进行封装。