美文网首页
设计模式第五篇-创建型模式【原型模式】

设计模式第五篇-创建型模式【原型模式】

作者: 做个快乐的代码哥 | 来源:发表于2018-02-27 21:22 被阅读6次

    设计模式案例分析-github

    一、什么是原型模式?

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

      通俗理解: 根据一个对象克隆出另外一个对象,分为浅度克隆,深度克隆,核心本质就是拷贝数                           据。

    二、案例?分析需求?

    1、针对一个订单,如果购买的商品数量超过200个,就要按照每200个拆分为一个订单列表。

    传统模式,见: 设计模式案例分析-github

    2、原型克隆模式分为浅度克隆和深度克隆。

        浅度克隆模式是指: 当遇到克隆的对象存在属性引用时,克隆出来的对象与原对象使用相同的引用,会出现原型引用的属性修改了,克隆的对象引用属性也改了(即拷贝对象)

        深度克隆模式是指: 当遇到克隆的对象存在属性引用时,克隆出来的对象创建一个与原对象值一样的属性,但是不是同一个引用,即是完全的拷贝一个对象。(重写创建一个新的对象(虚拟机不支持,需要用户自己代码实现创建)

    3、原型克隆模式角色划分?

     1)克隆接口-> 对应例子 IOrderCloneable

     2)具体克隆实现 -> 对应例子 PersonalOrder(EnterpriseOrder)

    4、原型克隆模式 jdk提供的接口?

        1)要克隆的对象实现Cloneable接口,作为标识,表示是一个可克隆对象

        2) 重写clone方法,注意该clone方法是Object的方法

        3) 在clone方法中,创建新的对象,并且未新对象属性赋值

    相关文章

      网友评论

          本文标题:设计模式第五篇-创建型模式【原型模式】

          本文链接:https://www.haomeiwen.com/subject/vdqvxftx.html