八
24
创建型模式抽象化了实例化过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式分为2种:
类创建型模式。使用继承改变被实例化的类,生成创建类的子类。如工厂方法(Factory Method)。
对象创建型模式。将实例化委托给另一个对象,依赖于对象组合:定义一个对象负责明确产品对象的类,并将它作为该系统的参数。如抽象工厂(Abstract Factory)、生成器(Builder)、原型(Prototype)。
单件(Singleton)

单件模式最好理解,它限制类实例个数,保证全局只存在一个类的实例,解决new带来的紧耦合问题。
工厂方法(Factory Method)

工厂方法解决某个对象的创建工作,属于类创建型模式。主要缺点:为了改变产品类,就可能需要创建一个新的子类。这种改变可能是级联的。例如,如果产品的创建者本身是由一个工厂方法创建的,那么必须重定义它的创建者。
抽象工厂(AbstractFactory)

抽象工厂重点在于创建“一系列互相依赖的对象”。
抽象工厂可以向客户提供一个接口,使得客户可以在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象,强调的是“系列对象”的变化。
生成器(Builder)

生成器模式创建对象时,强调“一些复杂对象”的创建工作,组件变化较频繁,算法相对稳定。
生成器模式把构造对象实例的逻辑移到了类的外部,即由Director定义对象构建逻辑(算法部分)。它把一个复杂对象的构造过程从对象的表示中分离出来,其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。
原型(Prototype)

原型模式通过拷贝一个现有对象创建新的对象。原型模式的前提是存在一个待克隆的原型对象。
工厂模式通过类的实例化来创建新对象;而原型模式通过现有对象克隆来创建新对象。
转载本站文章请注明,转载自:神秘果
本文链接: http://www.shenmiguo.com/archives/2009/295_design-patterns-creational.html

Leave a Reply