zoukankan      html  css  js  c++  java
  • 设计模式 之 原型模式

    原型模式的优点及适用场景

           使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。

           使用原型模式的另一个好处是简化对象的创建,使得创建对象就像我们在编辑文档时的复制粘贴一样简单。

           因为以上优点,所以在需要重复地创建相似对象时可以考虑使用原型模式。比如需要在一个循环体内创建对象,假如对象创建过程比较复杂或者循环次数很多的话,使用原型模式不但可以简化创建过程,而且可以使系统的整体性能提高很多。

    package com.test.pattern.prototype;
    
    class Prototype implements Cloneable {
    
        @Override
        public Object clone() {
            Prototype prototype = null;
            try {
                prototype = (Prototype)super.clone();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return prototype;
        }
    }
    
    class ConcretePrototype extends Prototype {
        public void show() {
            System.out.println("原型模式实现类");
        }
    }
    
    //客户端角色
    public class Client {
        public static void main(String[] args) {
            ConcretePrototype cp = new ConcretePrototype();
            for (int i = 0; i < 10; i++) {
                ConcretePrototype clonecp = (ConcretePrototype)cp.clone();
                clonecp.show();
            }
        }
    }
  • 相关阅读:
    26、面向对象设计模式之单例模式——泛型单例
    Unity 汽车碰撞
    makeObjectsPerformSelector对数组中的对象发送消息执行对象中方法
    NSHashTable NSPointerArray
    webrtc 音频一点相关知识
    记一次ios加急上架经历
    iOS 获取当前正在显示的ViewController
    ios表单上传图片或文件
    https适配
    swift block
  • 原文地址:https://www.cnblogs.com/heben/p/5774239.html
Copyright © 2011-2022 走看看