Java 实现原型(Prototype)模式】的更多相关文章

public class BaseSpoon implements Cloneable {//spoon 匙, 调羹 String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protected BaseSpoon clone() throws CloneNotSupportedException { System.o…
原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是原型模式的用意.原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过new来创建.原型模式有两种表现形式:简单形式.登记形式,这两种表现形式仅仅是原型模式的…
一. 概述 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 换句话说,就是不用重新初始化对象,而是动态地获得对象运行时的状态. 再说明白点,就是要一个拷贝过构造函数类似功能的接口. 结构图如下: 代码如下: //原型类,有一个clone接口 class Prototype { public: virtual ~Prototype() {} virtual Prototype* Clone() const = 0; }; //具体原型类,实现一个clone自身的操作 cla…
写这些也许有人认为“为了模式而模式”.Insus.NET所想到的,每个大师成为大师之前,也许都得这样做. 走路,从小就开始学,直至现在,谁还不是为了走路而走路?一直重复着...... 很多人没有分享自己的经验,分享自己的过程,分享这东西,它不会因为分享而变少了...... 感动的故事,是因为分享了历程而让人感动...... 设计模式,在ASP.NET开发过程中,确实很多环境应用得到,也许只因为时间与效率问题,使用了最直接的方法来解决了.往往给以来的维护带来了繁杂变得难以进行. 进入主题,先看看这…
原型模式是对象的创建模式,通过给出一个原型对象来指明所要创建的对象的类型.然后用复制这个原型对象的方法来创建出更多同类型的对象. 原型模式可以不用重新初始化对象,而动态的获取对象运行时的状态.使用原型模式需要注意浅复制和深复制的问题.即如果字段是值类型的,那么逐位复制是可以的.但是如果是引用类型或者指针,那么复制的对象和和原来对象都指向同一对象,即只有一份副本.  浅复制:被复制的对象所含有的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象.  深复制:把引用对象…
今天有学习设计模式的原型(Prototype)<设计模式--原型(Prototype)模式>http://www.cnblogs.com/insus/p/4152773.html .为了加强了解与认识,现再做一个练习. 创建一个原型接口: 创建一个用户控件,并实现接口: 现在网页中有一个按钮,用户点一点这个铵钮,能动态添加这个用户控件,每点击一次,克隆复制一个: 演示: 源代码下载:http://download.cnblogs.com/insus/CSharpNET/uc_prototype…
原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过new来创建. 原型模式有两种表现形式:(1)简单形式.(2)登记形式,这两种表现形式…
Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建. 如何使用原型模式 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单.以勺子为例: public abstract class Abstrac…
在<JAVA与模式>一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 1.原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过ne…
概念定义 使用原型实例指定待创建对象的种类,并通过拷贝该原型来创建新的对象.Prototype模式允许一个原型对象克隆(复制)出多个与其相同的对象,而无需知道任何如何创建的细节. 应用场景 对象的创建过程较为复杂且需要频繁创建 期望根据现有的实例来生成新的实例,例如: 对象种类繁多而无法整合到一个类时 难以通过指定类名生成实例时 希望解耦框架与生成的实例时 在实际应用中,Prototype模式很少单独出现.经常与其他模式混用. 原型实现 所有Java类都继承自java.lang.Object,而…