设计模式总结—创建型
2014-06-15 12:01
225 查看
在23种设计模式中分为了三类,创建型、结构型和行为型,当学完第一遍时最大的感触就是前辈们真是太有智慧太伟大了,既然面向对象主要是应对需求的变化,那么我们的代码中就应该体现面向对象思想和精神,真正做到代码的可维护、可复用、可扩展和好的灵活性。生活中也是这样,方法总比问题多,但是如何使用更加有效的方法那谁便多了一份优势。创建型,其实就是用来创建对象。在创建型模式里面包括 :工厂方法模式、原型模式、建造者模式、抽象工厂模式和单例模式。
但是由于每加一个产品,就需要增加一个产品工厂的类,增加了额外的开发量,还有就是没有避免修改客户端的代码,于是如果涉及到多个产品系列的问题,就可是使用抽象工厂模式。
它易于交换产品系列,只需改变具体工厂即可使用不同的产品配置,还有就是让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操作实例,但如果要增加功能,工厂类都要修改,于是就用简单工厂来改进抽象工厂。
单例模式可以保证唯一的实例,还有因为Singleton类封装它的唯一实例,这样它可以严格地控制客户怎样访问它以及何时访问它,简单的说就是对唯一实例的受控访问。
希望通过总结对这些内容的理解更深一些。
工厂方法:
用来创建对象接口,让子类决定实例化哪一个类,使一个类的实例化延迟到其子类,由于使用了多态性,它克服了简单工厂违背开放—封闭原则的缺点,,又保留了封装对象创建过程的优点。但是由于每加一个产品,就需要增加一个产品工厂的类,增加了额外的开发量,还有就是没有避免修改客户端的代码,于是如果涉及到多个产品系列的问题,就可是使用抽象工厂模式。
抽象工厂模式:
提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。它易于交换产品系列,只需改变具体工厂即可使用不同的产品配置,还有就是让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操作实例,但如果要增加功能,工厂类都要修改,于是就用简单工厂来改进抽象工厂。
原型模式:
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。它隐藏了对象创建的细节,这样做等于是不用重新初始化对象,而是动态的获得对象运行时的状态。在原型模式中涉及到浅复制和深复制的问题,所谓浅复制是说被复制对象的所有变量都含有与原来对象相同的值,而后者把引用对象的变量指向复制过的新对象,而不是原来被引用的对象。建造者模式:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户止血指定需要建造的类型,而不需知道具体建造的过程和细节。所以如果需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。单例模式:
保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式可以保证唯一的实例,还有因为Singleton类封装它的唯一实例,这样它可以严格地控制客户怎样访问它以及何时访问它,简单的说就是对唯一实例的受控访问。
希望通过总结对这些内容的理解更深一些。
相关文章推荐
- .Net设计模式学习笔记(七):创建型模式专题总结(Creational Pattern)
- 设计模式学习的阶段性总结(创建型设计模式part)
- 设计模式学习笔记(十四)——创建型模式总结
- 设计模式学习笔记(十四)——创建型模式总结
- .NET设计模式(7):创建型模式专题总结(Creational Pattern)
- 设计模式学习总结3 - 创建型3 - FactoryMethod工厂方法模式
- 设计模式学习总结4 - 创建型4 - Prototype原型模式
- 设计模式学习总结2 - 创建型2 - Builder生成器模式
- .NET设计模式(7):创建型模式专题总结(Creational Pattern)
- 创建型设计模式总结
- 设计模式学习笔记(十四)——创建型模式总结
- 形象工程:创建型设计模式总结
- 设计模式学习之创建型模式学习总结
- 设计模式学习笔记(六)——创建型模式总结
- Gof创建型设计模式-总结
- .NET设计模式(7):创建型模式专题总结(Creational Pattern)
- 设计模式学习总结-创建型模式
- 设计模式:创建型总结
- 三十一.设计模式总结-创建型模式
- 创建型设计模式总结