码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-07-25 09:46:18      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:克隆   建模   原型   ati   需要   info   大牛   一个   实现   

设计模式之-原型模式

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

  原型模式特点:

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

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

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

 

 

原型模式简单实现

  浅度克隆

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

  技术图片

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

  技术图片

 

   深度克隆

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

    技术图片

应用场景

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

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

 

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

 

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

标签:克隆   建模   原型   ati   需要   info   大牛   一个   实现   

原文地址:https://www.cnblogs.com/zhaiMaoDou/p/13375146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!