Skip to content

Latest commit

 

History

History

prototype

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

原型模式(Prototype)

定义

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

本质

克隆生成对象。

优点

  • 对客户端隐藏具体的实现类型
  • 在运行时动态改变具体的实现类型

缺点

  • 每个原型的子类都必须实现clone操作,尤其在包含引用类型的对象时,clone方法会比较麻烦,必须要能够递归地让所有的相关对象都要正确地实现克隆。

建议在以下情况中选用原型模式

  • 如果一个系统想要独立于它想要使用的对象时,可以使用原型模式,让系统只面向接口编程,在系统需要新的对象的时候,可以通过克隆原型来得到。
  • 如果需要实例化的类是在运行时动态指定时,可以使用原型模式,通过克隆原型来得到所需要的实例。