书城计算机大话设计模式
11030400000125

第125章 2 原型模式

牛肉拉面,牛肉刀削面等可以看作是原型,面馆可以看作是原型管理器。原型模式在创建对象不是直接创建的,也就是说,不是通过外部调用类的构造函数调用的,而是通过已存在的对象实例克隆出一个对象,这个克隆对象和他的源对象具有相同的属性和状态,也就是说面馆里的牛肉刀削面每一碗状态都是一样的。

大B:“你现在知不知道什么是原型模式?”

小A:“有点意识。但不是很清楚。”

大B:“原型模式是允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。”

小A:“原型模式有什么意图?”

大B:“用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。”