Prototype Pattern 原型模式】的更多相关文章

当一个类大部分都是相同的只有部分是不同的时候,如果需要大量这个类的对象,每次都重复实例化那些相同的部分是开销很大的,而如果clone之前建立对象的那些相同的部分,就可以节约开销. 针对php的一种实现方式就是__construct()和initialize函数分开分别处理这个类的初始化,construct里面放prototype也就是公共的部分,initialize里面是每个对象特殊的部分.这样我们先建立一个类不initialize,以后每次clone这个类再进行initialize就可以了.…
通过new产生一个对象非常繁琐,可以使用原型模式 原型模式实现: ——Cloneable接口和clone方法 ——Prototype模式实现起来最困难的地方是实现内存的复制和操作,Java中提供了clone方法省了大部分事情 案例:多利羊的克隆 package com.littlepage.PrototypePattern; public class Sheep implements Cloneable{ String name; int date; public Sheep(String na…
7.6 原型模式总结 原型模式作为一种快速创建大量相同或相似对象的方式,在软件开发中应用较为广泛,很多软件提供的复制(Ctrl + C)和粘贴(Ctrl + V)操作就是原型模式的典型应用,下面对该模式的使用效果和适用情况进行简单的总结. 1.主要优点 原型模式的主要优点如下: (1) 当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过程,通过复制一个已有实例可以提高新实例的创建效率. (2) 扩展性较好,由于在原型模式中提供了抽象原型类,在客户端可以针对抽象原型类进行编程,而将具体…
原型模式的缺点: 1.需要为每一个类配备一个克隆方法,而且该克隆方法位于一个类的内部,当对已有的类进行改造时,需要修改源代码,违背了开闭原则(open-closed discipline) 2.在实现深克隆时需要编写较为复杂的代码,而且当类之间存在多重继承时,为了实现深克隆,每一层对象对应的类都必须支持深克隆,实现起来比较麻烦. 原型模式的优点: 1.当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过程,通过复制一个已有实例可以提高新实例的创建效率: 个人认为,对于该中模式,最好还是…
定义: 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象 适用性: 当我们系统中有一些类,在使用的时候都有同样需要大量的创建,而这样的创建是复杂的而且是浪费CPU,内存资源的,为了解决这一问题,就出现了原型模式(深度克隆,浅克隆) 模式思想: 1.  通过使用同一的创建对象方案,尽量避免创建对象复杂过程代码重复出现: 2.  为了节省CPU,内存资源,我们可以让不同的类之间共享一些(业务上允许)资源,从而达到缩小占用内存空间: 3.  这样的一类业务需求本来就具有一定的…
原型模式(Prototype pattern): 定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建对象.也可以理解为模板,在创建新对象的时候,按照模板的方法来复制,避免重复造轮子. 简单来说,就是根据这个原型创建新的对象,而且不需要知道任何创建的细节.例如,在生物学中,有“细胞分裂”,细胞在一定条件下从一个分裂成两个,再由 2 个分裂成 4 个........分裂出来的细胞是基于原始的细胞(原型),这种原始的细胞决定了分裂出来的细胞结构.这种分裂过程,称为“原型模式”.在 Table…
通过序列化的方式实现深拷贝 [Serializable] public class Person:ICloneable { public string Name { get; set; } public int Age { get; set; } public List<Friend> FriendList { get; set; } public object Clone() { MemoryStream memoryStream = new MemoryStream(); BinaryFo…
原型模式(Prototype) 原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.本小结会通过对象的复制,进行讲解.在Java中,复制对象是通过clone()实现的,先创建一个原型类: [java] view plaincopy public class Prototype implements Cloneable { public Object clone() throws CloneNot…
| 导语 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 通过深复制(克隆.拷贝)一个指定类型的对象来创建更多同类型的对象.这个指定的对象可被称为“原型”对象,也就是通过复制原型对象来得到更多同类型的对象.即原型设计模式.iOS中使用copy协议完成这个过程. 原型模式主要用于对象的深复制,它的核心是就是类图中的原型类Prototype. 原型模式的核心思想是把复制的过程封闭到对象的内部完成.第一个好处是修改复制的过程而不影响外部的使用者. 原型模式的优点及使用场景 简化对…
题目:编写基本的简历. 实现: 创建基本的Resume类,然后主函数通过实例化Resume来写简历即可. Resume类: class Resume { private string name; private string sex; private string age; private string timeArea; private string company; public Resume(string name) { this.name = name; } //设置个人信息 publi…