1. 还是画结构图比较清晰易懂,可以看出,原型模式相较于工厂模式,少了Factory类,而是将新实例化的定义,以clone的函数来代替,同时实现函数中,注意return语句中,通过构造函数的拷贝构造,来实现实例化一个新类。
2. 原型模式和构建器在设计模式中用到的场景很少,大部分通过工厂模式和抽象模式就可以解决。若日后看到了懂其原理即可。
3. 注意clone函数内的实例化是深拷贝构造函数,即内部指针内容也需要拷贝。该设计模式的优点就是复制的类不是一个新类,而是一个已经有状态有内容的类,即原类的当前状态被克隆过来,内部也许已经有赋值内容,也许没有,总之就可以
4. 原型模式适用场景:
工厂模式适用只是简单新建几步新建一个类即可;而当我们需要考虑对象复杂的几个中间状态,而且我们又希望保留这个中间状态,则选择原型模式。