首页 > 代码库 > 23种设计模式之原型模式(Prototype)

23种设计模式之原型模式(Prototype)

在系统开发过程中,有时候有些对象需要被频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后通过复制这个原型对象的办法,创建出更多同类型的对象。原型模式是一种对象创建型模式,用原型实例制定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式又可分为两种:浅克隆和深克隆。浅克隆仅仅复制所考虑的对象,而不复制它所引用的对象,也就是其中的成员对象并不复制;深克隆除了对象本身被复制外,对象包含的引用也被复制,即成员对象也被复制。

优点:

1)可以在运行时添加或删除产品。

2)通过改变值指定新对象。

3)通过改变结构指定新对象。

4)减少子类的生成和使用。

5)可以用类动态地配置应用程序。

使用场景:

1)在运行时,指定需要实例化的类,例如动态载入。

2)避免构建于产品的类层次结构相似的工厂类层次结构。

3)当类的实例是仅有的一些不同状态组合之一的时候。

技术分享

Prototype 模式

23种设计模式之原型模式(Prototype)