用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,
工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
Prototype.java
package com.gary.designpattern.prototype;
/**
* 此模式实现简单,因为Java提供clone方法
* 1.实现java.lang.Cloneable接口
* 2.覆盖clone方法
* java clone详解:
* 传送门 http://wenku.baidu.com/view/bf52ad4e767f5acfa1c7cd40.html
*
* @author gary
*
*/
public class Prototype implements Cloneable{
private String someData;
public void setSomeData(String someData) {
this.someData = someData;
}
public String getSomeData() {
return someData;
}
public void printData(){
System.out.println(someData);
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
Test.java
package com.gary.designpattern.prototype;
/**
* 测试
* @author gary
*
*/
public class Test {
public static void main(String[] args) {
Prototype prototypeA = new Prototype();
prototypeA.setSomeData("hello world!");
try {
Prototype prototypeB = (Prototype) prototypeA.clone();
prototypeB.printData();
Prototype prototypeC = (Prototype) prototypeA.clone();
prototypeC.printData();
} catch (CloneNotSupportedException e) {
System.out.println("Prototype is not Cloneable");
}
}
}
分享到:
相关推荐
Prototype模式 即原型模式,提供一个已经存在的对象进行新对象创建的接口,一般情况下都是使用Clone接口。 此模式非常简单,简单的说就是复制多个当前对象供使用。Prototype模式允许一个对象再创建另外一个可定制...
**原型模式(Prototype模式)**是软件设计模式中的一个经典模式,属于创建型模式。它提供了一种通过复制现有的对象来创建新对象的方式,而无需知道具体创建过程的细节。这种模式在需要频繁创建相似对象时非常有用,...
在给定的"Prototype模式练习"中,我们可以深入探讨这种模式的应用和实现。 首先,原型模式的核心在于`Cloneable`接口和`clone()`方法。在Java中,当一个类实现了`Cloneable`接口,并且重写了`Object`类中的`clone()...
**原型模式(Prototype模式)**是软件设计模式中的创建型模式之一,它在23种GOF设计模式中占据重要地位。原型模式的核心思想是通过复制已有对象来创建新对象,而不是从头开始创建,从而提高代码的效率和可扩展性。这种...
Prototype模式的核心在于实现克隆操作。在Java中,我们可以利用`Cloneable`接口和`clone()`方法来实现对象的复制。但是需要注意,不是所有类都能直接使用`clone()`方法,因为默认的`clone()`方法仅复制对象的引用,...
在Prototype模式中,核心概念包括“原型”接口或抽象类,以及具体的可克隆的实现类。原型接口规定了克隆操作,而实现类则提供了实际的克隆功能。通常,克隆操作有两种形式:浅克隆(Shallow Clone)和深克隆(Deep ...
在软件开发领域,Prototype模式是一种设计模式,它主要应用于创建对象。该模式的主要目的是减少对象的创建开销,特别是在需要大量相似对象时。 Prototype模式通过克隆已存在的对象来创建新对象,而不是从头开始构造...
原型模式(Prototype模式)是一种创建型设计模式,它允许我们创建对象的副本,而无需知道对象是如何被创建的。在Java中,这个模式通常通过实现`Cloneable`接口和覆盖`clone()`方法来实现对象的克隆。接下来,我们将...
Prototype 模式是一种创建型模式,用于创建对象的副本。Prototype 模式的优点是可以快速地创建对象的副本,减少了对象创建的时间和空间开销。Prototype 模式的缺点是它可能会导致对象的耦合度增加。 3. Factory ...
这个压缩包中的"Prototype学习笔记.doc"很可能是对Prototype模式深入理解的详细文档。下面将从Prototype设计模式的基本概念、在JavaScript中的应用、与Ajax的关系以及如何与其他技术如Java和JavaScript库交互等方面...
**原型设计模式(Prototype Pattern)**是一种创建型设计模式,它允许我们通过复制现有的对象来创建新对象,而不是通过构造函数来实例化新对象。在面向对象编程中,当我们需要频繁地创建具有相同或相似属性的对象时,...
第二部分是核心部分,通过一步步完善的代码示例,由浅入深地讲解了16个设计模式,包括 singleton模式、Factory模式、Abstract Factory模式、Builder模式、Prototype模式、Adapter模式、Bridge模式、Composite模式、...
Prototype 模式可以使得产品类不需要非得有任何事先确定的等级结构,Prototype 模式适用于任何的等级结构。 例如,在 Prototype 模式的例子中,可以通过复制原型对象来创建出更多同类型的对象,不需要知道产品的...
- **1.5 Prototype模式**:原型模式通过克隆已存在的实例来创建新实例,从而避免每次都需要重新创建相同的对象。这种模式特别适用于创建大量相似对象的情况。在C++中,可以通过实现clone()函数来实现原型模式。 ###...
工厂模式是另一种设计模式,它与Prototype模式一起在面向对象编程中扮演着重要的角色。 **原型模式(Prototype)**: 原型模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在原型模式中,一个对象被用来...
5. **Prototype模式**:原型模式通过克隆已有对象来创建新对象,减少了创建新对象的开销。C++中可以通过实现`clone`方法来实现对象的复制。 **结构型模式**则关注如何组合对象和类,以创建更大的结构。 1. **...
Prototype模式使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这在创建对象的代价较大,或者对象创建需要复杂初始化的情况下非常有用。 ### 结构型模式 #### Bridge模式 Bridge模式将抽象...
- **Prototype 模式**:Prototype模式通过复制一个已经存在的对象实例来创建新的对象,而不是通过创建对象的过程来创建新对象。这种模式特别适合于创建大量的相似对象。UML图示例展示了Prototype接口以及具体的...
常见设计模式的解析和实现(C++),真的很经典,我也在学 常见设计模式的解析和实现(C++)之一-Factory...常见设计模式的解析和实现(C++)之四-Prototype模式 常见设计模式的解析和实现(C++)之五-Singleton模式 .........