设计模式之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 Pattern)

要理解原型原型模式必须先理解Java里的浅复制和深复制。有的地方,复制也叫做克隆。Java提供这两种克隆方式。 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一...
  • yanbober
  • yanbober
  • 2015年04月29日 11:28
  • 3038

设计模式总结之Prototype Pattern(原型模式)

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
  • cooldragon
  • cooldragon
  • 2016年08月11日 00:43
  • 1449

我与C++设计模式(四)——prototype pattern

我故意将bia
  • guozhengdong
  • guozhengdong
  • 2014年10月01日 10:20
  • 497

读秦小波《设计模式之禅》 -- 工厂模式

设计模式是一种非常有用的编程技巧,它对于代码的重构有些非常重要的作用,对于软件开发人员来说,需要理解并尝试着使用这些设计的方法。      个人感觉《设计模式之禅》这本书中讲解的非常具体,每个模式都配...
  • DLUTBruceZhang
  • DLUTBruceZhang
  • 2014年12月25日 08:36
  • 2729

6大设计模式总结__设计模式之禅读书笔记

单一职责原则 2015年12月19日 星期六 15:35 1、Single Responsibility Principle 简称SRP  2、定义: 应该有且仅有一个原因引起类的变更。...
  • u013675234
  • u013675234
  • 2015年12月19日 19:57
  • 516

设计模式之——设计模式使用率排行榜

Java设计模式使用率爬行榜 使用频率 所属类型 模式名称 模式 简单定义 5 创建型 Singleton 单例模式 保证一个类只有一个实例,并提供一个访问它的...
  • wind19
  • wind19
  • 2011年11月15日 14:29
  • 1173

大话西游之设计模式_起手篇

介绍了设计模式是什么。能干什么、及怎么运用? 通过西游记中故事的分析,将常用设计模式融合在故事的实现中,帮助大家理解&记住各种设计模式的概念及使用方法。 达到活学活用的情况~...
  • myhc2014
  • myhc2014
  • 2015年10月15日 10:52
  • 753

设计模式之禅学习笔记--策略模式

一、定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换(实现相同的接口)。 二、通用类图 策略模式使用的就是面向对象的继承和多态机制,非常容易理解和掌握。 1:C...
  • xiang912
  • xiang912
  • 2015年05月14日 23:22
  • 616

设计模式之禅——命令模式

命令模式的定义命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能.例子:项目经理执行任务满足客...
  • TyroneRenekton
  • TyroneRenekton
  • 2016年09月08日 08:56
  • 1159

大话西游之设计模式_从猴王出世看singleton

本文从悟空/猴王出世的神话故事作为入口,提炼了故事的主要,并用代码详细的实现了故事的概要; 详述了singleton的代码格式及使用场景,进而指导读者熟练的使用singleton进行设计...
  • myhc2014
  • myhc2014
  • 2015年10月16日 19:09
  • 524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式之Prototype
举报原因:
原因补充:

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