`

Java Prototype模式的学习(原型模式)

阅读更多

 原型模式定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.

    Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。

如何使用? 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单.

以勺子为例:

package com.pattern.prototype;

/** *//**
 * 原型类(以汤匙为例) ,注意要实现Cloneable接口
 * 
 * 
@author zdw
 * 
 
*/

public abstract class AbstractSpoon implements Cloneable
{
    
public String spoonName;

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


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


    
/** *//**
     * 重写clone()方法
     
*/

    @Override
    
public Object clone()
    
{
        
try
        
{
            
return super.clone();
        }
 catch (CloneNotSupportedException e)
        
{
            System.out.println(
"此对象不支持复制");
        }

        
return null;
    }

}


对原型的具体实现:

package com.pattern.prototype;

/** *//**
 * 给原型对象赋值
 * 
 * 
@author zdw
 * 
 
*/

public class SoupSpoon extends AbstractSpoon
{
    
public SoupSpoon()
    
{
        setSpoonName(
"chinaDrong");
    }

}


测试类:

package com.pattern.prototype;

/** *//*******************************************************************************
 * 测试类
 * 
 * 
@author zdw
 * 
 
*/

public class Client
{
    
public static void main(String[] args)
    
{
        AbstractSpoon spoon 
= new SoupSpoon();
        System.out.println(spoon.getSpoonName());
        
// 通过对象的clone()方法,即可获得对象的一个copy.
        AbstractSpoon spoon2 = (AbstractSpoon) spoon.clone();
        System.out.println(spoon2.getSpoonName());
    }

}

 

当然也可以结合工厂模式来创建AbstractSpoon实例。

在Java中Prototype模式变成clone()方法的使用,由于Java的纯洁的面向对象特性,使得在Java中使用设计模式变得很自然,两者已经几乎是浑然一体了。这反映在很多模式上,如Interator遍历模式。


々上善若水々 2008-05-26 09:39 发表评论
分享到:
评论

相关推荐

    Prototype模式

    **原型模式(Prototype Pattern)**是一种创建型设计模式,它提供了一种通过复制已有对象来创建新对象的方式,而不是通过构造函数。在某些情况下,当创建新对象的成本非常高时(例如,对象需要大量的初始化操作或者从...

    java设计模式之原型模式

    **Java设计模式之原型模式详解** 原型模式(Prototype Pattern)是设计模式中的一种结构型模式,主要用于快速创建对象。在Java中,它基于对象克隆的概念,允许我们复制已有对象而不必再次创建新实例,从而降低系统...

    原型设计模式prototype

    在面向对象编程中,当我们需要频繁地创建具有相同或相似属性的对象时,原型模式可以极大地提高效率。 ### 模式原理 在原型模式中,一个类定义了创建新对象的接口,而其实现由它的子类完成。这个接口通常只有一个...

    Java设计模式之Prototype原型模式

    Java设计模式之Prototype原型模式 Prototype原型模式是Java设计模式中的一种创建型模式,它主要用于对象的克隆和创建。该模式的主要思想是将一个对象作为原型,然后通过克隆该对象来创建新的对象,从而实现对象的...

    设计模式之原型模式Java实现和类设计图

    原型模式(Prototype Pattern)是其中一种行为设计模式,主要用于对象创建。它通过复制已有对象来创建新对象,而不是通过传统的构造函数来创建。在Java中,原型模式可以有效地提高性能,特别是在创建复杂对象时。 #...

    创建型模式之原型模式(Prototype Pattern)

    **原型模式(Prototype Pattern)详解** 在软件设计中,原型模式是一种创建型设计模式,它提供了一种通过复制已有对象来创建新对象的方式,避免了重复的构造过程,提高了代码的效率和可维护性。原型模式的核心思想...

    Prototype Pattern原型模式

    **原型模式(Prototype Pattern)**是一种基于克隆的创建型设计模式,它的主要目的是为了提高创建新对象的效率,特别是当创建新对象的过程复杂或者资源消耗较大时。在原型模式中,一个已经创建的对象(称为原型)被...

    设计模式之Prototype(原型)

    通过阅读和理解`TestPrototype`中的代码,我们可以深入学习如何在实际项目中应用Prototype模式。工具如IDE(集成开发环境)在这里也起到了重要的作用,它们提供了调试、代码提示等功能,帮助开发者更好地理解和修改...

    Java设计模式之原型模式在图形绘制框架中的应用

    内容概要:本文详细介绍了 Java 中的原型模式(Prototype Pattern),并通过实例讲解了如何在图形绘制软件中应用该模式。文中定义了抽象原型类和具体原型类,并展示了如何通过客户端代码创建和克隆不同的图形对象,...

    Prototype模式练习

    在Java等面向对象编程语言中,原型模式经常被用来实现对象的克隆。在给定的"Prototype模式练习"中,我们可以深入探讨这种模式的应用和实现。 首先,原型模式的核心在于`Cloneable`接口和`clone()`方法。在Java中,...

    Java 23种设计模式08原型模式.pdf

    ### Java设计模式之原型模式深度解析 #### 模式动机 在面向对象编程的世界里,对象的创建往往伴随着复杂的逻辑处理。特别是在某些场景下,对象的构造过程可能涉及大量资源的消耗,例如数据库连接、文件读写等。在...

    《Java设计模式》课后习题参考答案-刘伟(20180723).pdf

    d) 原型模式(Prototype) 原型模式通过复制一个已经存在的实例来创建新的实例,以避免重复的初始化操作。在JDK中的应用包括: - java.lang.Object#clone(),创建并返回此对象的副本。 e) 单例模式(Singleton) ...

    java设计模式ppt

    原型模式 (Prototype Pattern) 原型模式是一种创建型模式,通过复制现有的实例来创建新的对象。这种方法避免了构造函数中复杂的初始化过程。原型模式适用于创建成本较高的对象,或者对象的状态需要动态调整的情况...

    设计模式之原型模式

    原型模式是设计模式中的一种,它是Java 23种经典设计模式之一,主要用来提高对象创建的效率。在原型模式中,我们通过复制或克隆一个已经存在的对象来创建新的对象,而不是通过构造函数来创建。这种方法尤其适用于当...

    Java设计模式之原型模式.docx

    Java设计模式中的原型模式是一种创建型设计模式,它允许我们创建对象的副本,而无需知道对象是如何被创建的。在处理复杂对象时,通过原型模式能够显著提高对象复制的效率,尤其是在实例化新对象需要执行大量初始化...

    23种设计模式之Prototype模式代码

    **原型模式(Prototype模式)**是软件设计模式中的一个经典模式,属于创建型模式。它提供了一种通过复制现有的对象来创建新对象的方式,而无需知道具体创建过程的细节。这种模式在需要频繁创建相似对象时非常有用,...

    23种java设计模式.pdf

    创建模式是指在创建对象时使用的模式,包括 Factory(工厂模式)、Singleton(单例模式)、Builder(建造者模式)、Prototype(原型模式)等。这些模式都是为了解决对象创建的问题,使得对象的创建更加灵活和可扩展...

    原型模式prototype

    **原型模式(Prototype)**是软件设计模式中的一种,它属于创建型模式,主要用于简化对象的创建过程,通过复制已有对象来生成新对象,避免了重复的构造过程,提高了代码的效率和可维护性。在Java、C#等面向对象语言...

    原型模式(Prototype)

    **原型模式(Prototype)** 原型模式是一种创建型设计模式,它提供了一种通过复制已有对象来创建新对象的方式,而不是通过传统的构造函数。这种模式在系统中需要创建大量相似对象时特别有用,可以提高效率并减少内存...

    设计模式的原型模式的例子

    原型模式(Prototype Pattern)是软件设计模式中的一种结构型模式,它的主要目的是通过复制已有对象来创建新对象,从而减少创建新对象的成本。在原型模式中,类的实例化过程被替换为对已有实例的克隆操作,尤其适用...

Global site tag (gtag.js) - Google Analytics