zoukankan      html  css  js  c++  java
  • 原型模式,以及4中创建模式总结。

    就是clone,就是copy一份自己。

    这个倒是非常有用处。很多时候希望用某个数据去测试,又不影响原来数据。那么就需要 克隆。可是原型这个词有点吓人。叫克隆多好。

    高级语言,如java的默认clone,对于集合类型是只copy指针。所以需要自己重写clone方法。实现深拷贝。也就是原型。

    package com.linson.android.hiandroid2.DesignPattern;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Prototype implements Cloneable
    {
        public String mname;
        public Integer mid;
        public List<Integer> mYears=new ArrayList<>();
    
    //    @Override
    //    protected Object clone() throws CloneNotSupportedException
    //    {
    //        return super.clone();
    //    }
    
    
        @Override
        protected Object clone() throws CloneNotSupportedException
        {
            Prototype prototype=new Prototype();
            prototype.mid=mid;
            prototype.mname=mname;
            prototype.mYears=new ArrayList<>(mYears);
    
            return prototype;
        }
    }

    创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

    除了单例和原型非常实用和典型外,其他没什么需要注意的。

    其他要不使用场合不常见,如抽象工厂,或者不典型,你用都用了,也没觉得是什么模式。如建造者。

    2个难点的,不常用。3个简单的,非常常见。

  • 相关阅读:
    如何使用ERStudio 生成comment
    windows 使用excel导出的问题
    iOS Runtime(一)、objc_class深深的误解
    iOS开发安全
    iOS微信运动 刷分
    APP中的 H5和原生页面如何分辨、何时使用
    Weex系列二、显示图片
    Android系列一、创建项目
    Weex系列一、构建Weex工程
    时间复杂度
  • 原文地址:https://www.cnblogs.com/lsfv/p/11131578.html
Copyright © 2011-2022 走看看