java prototype 模式

2019-03-25 13:51|来源: 网路

在什么情况下用java  prototype   模式?

相关问答

更多
  • java教程:关于Java设计模式关于原型模式(Prototype) IT信息技术http://www.52ij.com/jishu/ 首先需要弄清楚什么叫原型模式,或者说为什么要有原型模式,运用它会给我们带来什么或能解决什么问题?原型模式(Prototype)同抽象工厂模式同属于创建型模式,它主要关注于大量相同或相似对象的创建问题,应用原型模式就是先需要一个原对象,然后通过对原对象进行复制(克隆),来产生一个与原对象相同或相似的新对象。注意这里所说的对象相同不是指复制出来的副本对象与原对象是同一个对象,相 ...
  • 按我的理解,原型引入的根本原因就是在于它可以利用一个原型对象(在这,我指的是实例,而非类),快速地生成一批和原型对象一样的实例。举个例子来说,你有一个类A的实例a (A a=new A()),现在你想生成一个和a一样的实例b,那么,按照原型的定义,你应该可以这样做b=a.clone()。这样,你就可以得到一个和a一模一样的实例b(即a和部b的数据成员的值完全一样)。 上面是原型的一个简单说明,那么引入原型有什么好处呢?按我的理解,就是在于:你如果要生成一大批很相像的类的实例时,省得每次去做重复的赋值工作。再 ...
  • 原型模式 原型导致与原始对象不同的克隆对象。 在克隆时,原始状态与克隆相同。 此后,每个物体可能经历状态改变。 您可以将其视为类似的复印原件,然后在几个地方修改复印件。 例 DVD复制:复制主DVD以创建多个副本 报表对象:考虑一个报表对象,其中包含要传递给GUI的已处理信息。 原始报告按升序包含数据。 现在,使用这种模式可以创建一个类似的报告,但数据按降序排列。 优点 性能:克隆(使用MemberwiseClone )比重新创建新对象( 新操作符 )要便宜得多。 请注意,需要覆盖MemberwiseClo ...
  • 装饰器模式可能是最直接使用的,并且是扩展具体对象功能和/或特性的好方法。 以下是一些阅读材料: Head First Design Patterns - CH3 pdf 仅供参考,夫妻必须拥有学习和参考设计模式,无论您选择何种语言: 1) 头部设计模式 2) 企业应用程序架构的模式 3) 设计模式:可重用面向对象软件的元素 和网站: 1) DoFactory 2) StackOverflow设计模式新手 还有其他一些,我将不得不挖掘它们。 The Decorator Pattern is probably ...
  • 首先 原型按钮2; 和buttontwo = aButton.makeClone(); 两者都不同它应该是buttonTwo 并返回aData; 您将返回String代替JButton并在此方法中 public void setButtonName(String aData){ String theName; //------------ theName = (String) aData; aData = theName; } 这里的aData引用了setButtonNam ...
  • 回答的最佳资源是Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides (AKA“四人帮”)中的“设计模式 - 可重复使用的面向对象软件的元素”一书: Prototype与Abstract Factory和Builder具有许多相同的结果:它隐藏了客户端的具体产品类,从而减少了客户知道的名称数量。 而且,这些模式允许客户端使用特定于应用程序的类而无需修改。 Factory Method通常会生成与产品类层次结构平行的Creator类层次结构。 Protot ...
  • 您需要记住的是,无法实例化接口,任何实例化对象都将是实现所述接口的类。 Animal animalSample参数将是Animal接口类型,但它指向的对象将是一个实现Animal接口的类,在本例中是Sheep 。 因此,当您调用Animal.clone()时,您正在调用正在实现接口(Sheep)的对象的clone方法。 What you need to remember is that an interface cannot be instantiated, any instantiated object ...
  • 在java中我们有和接口cloneable我想了解的是为什么抽象类实现那个接口仍然没有抽象类中接口的clone()方法的实现? Object类为其方法提供了clone()方法的默认实现。 当您查看Object类时,您可以看到clone()在其签名中指定了一个特定的关键字: native 。 protected native Object clone() throws CloneNotSupportedException; native关键字应用于一个方法,以表明它在JNI (Java Native Int ...
  • 我通过注释Item的属性并使用泛型声明setPrototype()得到了一个有点可接受的运行版本。 这就是声明在IPrototype中的样子: public void setPrototype(T prototype); 这是它在Item中的实现: @XmlAttribute(name="prototype") @XmlIDREF @Override public void setPrototype(T prototype) { m_data = ((Item)prototype) ...
  • 您可以执行与以前完全相同的操作,只需在doSomething方法中执行: doSomething: function () { var instance = this; $('.some-class').each(function () { $(this).click(instance.doClick); }); }, 这种方法与prototype无关,它只是如何使用嵌套函数管理上下文。 因此,当原型(方法)上的函数具有嵌套函数时,如果要在嵌套作用域中访问它 ...