书中引出的例子是,关于简历的复制问题。
这里使用原型模式的关键是,克隆一个对象,与构造一个对象的不同。取决于克隆和构造的复杂度。克隆,需要处理深复制、与浅复制的问题。克隆的时候,与备忘录,状态模式有一些相似之处。使用哪一种取决需求。
书中复制简历与手写简历的对比,可以准确的表达这种模式思想。
用户在初始化对象时,使用同一套初始化变量,这种模式可以很好的避免用户在构造函数里面,初始化需要的用到的初始化变量。
个人觉得这种模式,在克隆的过程中,不要克隆对象现在状态比较好。不然容易与备忘录模式,状态模式混淆。并且实际编码中,带状态复制,处理深、浅复制其实增加了代码的可理解性。
克隆,仅仅克隆初始化。
所以:复制简历与手写简历很好的表现这种特点。