Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

原型模式

定义  

原型模式的定义是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。  

小结  

    当一个系统应该独立于它的产品创建、构成和表示时,可以使用原型模式,但是应该充分考虑线程安全性和复制的深度。原型模式适用于以下几种情况:  

  • 当要实例化的类是运行时刻指定时。
  • 为了避免创建一个与产品类层次平行的工厂类层次时。
  • 当一个类的实例只能是有几个不同状态组合中的一种时。

    在开发某个类的过程中,我们通常都需要为这个类编写构造方法,这样一来,类的使用者就可以利用构造方法对这个类进行实例化操作。但有时我们需要将类的使用者与构造函数进行分离,也就是说我们不允许类的使用者直接调用一个构造方法,而创建型模式大多是为了这一目的而产生的。
    原型模式也同样对类的使用者隐藏了对象创建的细节,但是跟其它创建型模式不同的是,其它创建型模式是通过一个类进行实例化来创建新的对象,而原型模式则是通过复制一个已经存在的对象来生成新的对象。
    通过原型模式,类的使用者可以通过复制一个对象实例来创建新的对象。通过复制对象实例来创建新的对象和调用构造方法来创建新对象的区别在于:复制的对象一般都会包括原有对象的状态信息。
    在决定深复制的深度时,一些比较大的项目可能会出现循环引用的问题,需要根据具体的项目来进行深层次的考虑。