zoukankan      html  css  js  c++  java
  • 23种设计模式-原型模式

    原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

    原型模式其实就是从一个对象再创建另外一个可定制的对象,而不需要知道任何创建的细节。

    克隆的时候,会创建当前对象的浅表副本。方法是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象,因此,原始对象及其副本引用同一个对象。

    对于.NET而言,不需要原型抽象类Prototype,在System命名空间中提供了ICloneable接口,实现这个接口就可以完成原型模式了。

    一般在初始化的信息不发生变化的情况下,克隆是最好的办法,这既隐藏了对象创建的细节,又对性能是大大的提高。

    浅复制:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。

    深复制:把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象。

  • 相关阅读:
    第一个WCF的程序
    第一节 SOA的基本概念和设计思想
    数组拷贝 copyOf()
    dict和set
    类的构造函数
    深入理解 Python 异步编程(上)
    Nifi自定义processor
    java inputstream to string stack overflow
    java inputstream to string
    oracle 导入 dmp
  • 原文地址:https://www.cnblogs.com/tingqianzhu/p/8493746.html
Copyright © 2011-2022 走看看