设计模式之Prototype

原创 2006年06月08日 16:14:00

原型模式的定义:

用原型实例指定创建对象的种类,并且通过克隆这些原型来创建新的对象.

Prototype模式允许一个对象再创建一个可定制的对象,无需知道任何如何创建的细节.

工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建.

举例:

public abstract class AbstractSpoon implements Cloneable {

    String spoonName;

    public String getName() {
        return this.spoonName;
    }

    public void setName(String spooName) {
        this.spoonName = spooName;
    }

    public Object clone() {
        Object object = null;
        try {
            object = super.clone();
            System.out.println("object:"+object);
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return spoonName;

    }
}

___________________________

两个具体实现类

public class SoupSpoon extends AbstractSpoon{

   public SoupSpoon(){
       setName("Soup Spoon");

   }
}

public class SaladSpoon extends AbstractSpoon{

    public SaladSpoon(){
        setName("salad spoon");
    }
}

调用:

public class Test {

    public static void main(String[] args) {
        AbstractSpoon spoon = new SoupSpoon();
        System.out.println("spoon:"+spoon.getName());
        AbstractSpoon spoonq =new SaladSpoon();
        System.out.println("spoon:"+spoonq.getName());
    }
}

相关文章推荐

设计模式之Prototype

  • 2008年01月28日 23:30
  • 3KB
  • 下载

Prototype设计模式的原理和用法

在软件开发中,有时候可能会需要创建一些特别复杂的对象,如果系统中已经存在同样类型的对象,并且不同的属性个数相差不大的话,用Prototype模式可能是一个理想的选择。 定义 :用原型实例指定创建...

原型(Prototype)设计模式

原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个对象的方法来创建更痛类型的对象。 原型模式(Prototype)的结构如下图所示:   Prototype 的参与者包括以下...

Prototype设计模式

原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的. 原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下...

设计模式之 Prototype Pattern

设计模式有很多, 我们就从一个比较简单的模式开始-Prototype Pattern, 如果翻译成”原型模式”没有问题的话, 我们下面就这么用. Prototype Pattern用来解决对象的拷贝问...

设计模式-prototype原型

1. 精髓:    克隆 2.设计方法   2.1 prototype类提供clone接口;   2.2 个子类实现clone方法;   3.3 操作类需要调用子类对象时使用子类的clone方法生...

设计模式学习--Prototype

What Prototype:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 Why Prototype适用于在一个类的实例有几种不同的状态组合的一种时,建...

无废话C#设计模式之五:Prototype

无废话C#设计模式之五:Prototype 意图        用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 场景        游戏场景中的有很多相似的敌人,它们的技能都一样,但...
  • rise51
  • rise51
  • 2011年01月18日 11:08
  • 203

[DP]Prototype设计模式

Prototype设计模式 深复制和浅复制 spring中的prototype

【初学设计模式】Prototype (原型)

设计模式, Design Patterns, Prototype, 原型, C++, UML
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式之Prototype
举报原因:
原因补充:

(最多只允许输入30个字)