设计模式之-创建模式-原型模式

Posted zhaimaodou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之-创建模式-原型模式相关的知识,希望对你有一定的参考价值。

设计模式之-原型模式

  在系统中会遇到相同或相似的对象创建,大量的通过构造函数创建对象实例,会造成消耗性能,因此可通过原型设计模式解决此类问题。原型模式的定义:用现有的实例对象通过克隆复制出一个和原型相同或相近的对象实例。

  原型模式特点:

  1、抽象原型类:规定了具体原型对象必须实现的接口

  2、具体原型类:实现抽象原型类的clone()方法,通过拷贝自己实现创建实例对象。

  3、通过clone()方法复制新的对象。

 

 

原型模式简单实现

  浅度克隆

  创建类实现Cloeable接口,实现clone() 方法,实现浅拷贝

  技术图片

   调用对象实例克隆新的实例对象

  技术图片

 

   深度克隆

    除原型对象本身被复制外,对象的包含的所有成员变量也将被复制,实现深度克隆的对象,可通过序列化(Serialization)等方式来实现。下面简单实现深度克隆。

    技术图片

应用场景

  利用原型模式创建对象提高创建对象的效率,减少性能消耗,实际应用中如创建对象时初始化占用时间较长,创建成本较大,可以通过原型模式对已有的对象进行复制获取。对成员变量稍作修改即可获得相似的对象。

  在使用原型模式需要注意是深度克隆还是浅度克隆。

 

  稍微复杂的实现后续补充。初来乍到,希望有兴趣的大牛,多提提意见。

 

以上是关于设计模式之-创建模式-原型模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之原型模式

设计模式——创建型模式之原型模式

设计模式---对象创建模式之原型模式(prototype)

浅析设计模式——创建型模式之Prototype(原型模式)

8创建型模式之原型模式

设计模式之原型模式