prototype,可以看到大部分模式都是通过在类构造时传递那些不同的变量,之后使用时由于这些对象变量具有相同的接口,就可以封装它们。原型模式也是如此,一个原型工厂,通常在它构造时得到那些对象原型,然后之后在构造新对象时,只需要调用那些对象原型的clone函数就可以了。所以变的因素在,原型工厂构造时刻体现。其他地方则被封装了。
http://zh.wikipedia.org/w/index.php?title=生成器_(设计模式)&variant=zh-cn
生成器模式:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。允许创建对象的算法独立于该对象的组成部分以及装配方式。允许被构造的对象有不同的表示。
工厂方法模式,单件模式与抽象工厂模式。
虽然抽象工厂模式中,也有工厂,但这里的工厂一般产生的一族不同的对象。而工厂模式则是为产生一族对象,这些对象它们通常具有相同的基类接口。实际上,抽象工厂是在工厂级别上进行了抽象,而工厂模式则是在类创建的级别上进行了抽象。它们之间也是相互联系的,比如抽象工厂中的工厂类一般采用单件模式实现,而工厂方法用可以用来产生抽象工厂里不同的工厂类。