小A:“什么情况下,应当使用原型模式?”
大B:“1、当一个系统应该独立于它的产品创建,构成和表示时;2、当要实例化的类是在运行时刻指定时,例如,通过动态装载;3、为了避免创建一个与产品类层次平行的工厂类层次时;4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。原型模式同工厂模式,同样对客户隐藏了对象的创建工作,但是,与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过拷贝一个现有对象生成新对象的,达到了‘隔离类对象的使用者和具体类型(易变类)之间的耦合关系’的目的。”