`

设计模式(8)- 原型模式

阅读更多

原型模式

1.定义

       用原型模式指定创建对象的种类,并通过拷贝这些原型创建新的对象。

2.示例代码

      

/*声明一个克隆自身的接口*/
public interface Prototype{
    /*克隆自身的方法*/
    public Prototype clone();
}

/*克隆的具体实现对象*/
public class ConcretePrototype implements Prototype{
     public Prototype clone(){
          /*最简单的克隆,新建一个自身对象,由于没有属性,就不在复制值了*/
          Prototype prototype = new ConcretePrototype();
          return prototype;
     }
}

   

/*使用原型的客户端*/
public class Client{
    /*持有需要使用的原型对象接口*/
    private Prototype prototype;
    /*构造方法传入需要使用的原型接口对象*/
    public Client(Prototype prototype){
         this.prototype = prototype;
    }
    /*示意执行某个操作*/
    public void operation(){
       //需要创建某个原型接口的对象
       Prototype pro = prototype.clone();
    }
}

 

3.实际应用

       原型模式的客户端只知道原型的接口类型,并不知道具体的实现类型,从而减少了客户端对这些具体实现类型的以来,原型模式最大的缺点就在于每个原型的子类都必须实现clone操作,尤其在包含引用类型的对象时,clone方法会比较麻烦,必须要能够递归的让所有的相关对象都要正确的实现克隆。

 

原型模式的本质:克隆生成对象
分享到:
评论

相关推荐

    JAVA-设计模式-创建型模式-原型模式

    JAVA-设计模式-创建型模式-原型模式

    ava常用设计模式-原型模式

    ava常用设计模式-原型模式 原型模式(Prototype Pattern)是一种创建型设计模式,允许通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。在需要创建大量相似对象时非常有用,它可以避免重复创建对象...

    iOS设计模式-原型设计模式

    在iOS应用开发中,设计模式是一种经过验证的解决常见编程问题的方法,它们是经验的结晶,可以帮助开发者写出可维护、可扩展的代码。本文将详细探讨"原型设计模式"(Prototype Design Pattern)及其在iOS中的应用。 ...

    Java设计模式-原型模式详解

    Java 设计模式 - 原型模式详解 原型模式是 Java 设计模式之一,它用于创建对象时,指定创建对象的类型,并通过拷贝这些原型创建新的对象。该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原...

    java设计模式-原型模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...

    c++20设计模式-第4章-原型模式代码

    原型模式(Prototype Pattern)是其中一种行为设计模式,它允许我们通过复制现有对象来创建新对象,而不是通过传统方式实例化新对象。这一模式尤其适用于创建复杂或昂贵的对象,因为它提供了对象克隆的能力,从而...

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    设计模式课件大全

    设计模式05-建造者、原型模式 设计模式06-适配器、桥接、组合模式 设计模式07-组合模式、装饰模式 设计模式09-外观模式、享元模式 设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 ...

    设计模式专题之(五)原型模式---设计模式原型模式示例代码(python--c++)

    原型模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在原型模式中,一个对象可以被克隆以创建新对象,而无需知道具体的创建细节。这种模式在需要重复创建相似对象时非常有用,避免了每次创建新对象时都...

    C++设计模式-原型模式

    原型模式(Prototype Pattern)是软件设计模式中的一种创建型模式,它提供了一种复制已有对象而不必知道其具体类别的方法。在C++中,原型模式常常利用拷贝构造函数或赋值运算符来实现对象的克隆。这种模式在需要频繁...

    设计模式精解-GoF23种设计模式解析附C++实现源码

    - 结构型原型模式(Prototype):用原型实例指定创建对象的种类,并通过复制这个原型来创建新的对象。 2. 结构型模式(Structural Patterns): - 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的...

    Java设计模式----通俗易懂版

    这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者编写的指南。作者以形象生动的例子解释了23种经典的Java设计模式,使得复杂的概念变得更加易于理解。 首先,我们要...

    设计模式精解-GoF 23种设计模式解析附C++实现源码.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它提供了一种解决常见问题的方法论。GoF(Gang of Four)所提出的23种设计模式被视为面向对象设计的...

    24设计模式-原型模式1

    原型模式是一种设计模式,主要目的是通过复制现有对象来创建新对象,从而简化创建过程并减少对象构造的开销。在Java中,实现原型模式通常涉及`Cloneable`接口和`clone()`方法。`Cloneable`接口是一个标记接口,类...

    C# 设计模式系列教程-原型模式

    原型模式是一种设计模式,它允许我们通过复制现有对象来创建新对象,而不是从零开始构造它们。这种模式尤其适用于那些初始化过程复杂、耗时较长的对象,因为它能显著提高性能。 在C#中,原型模式通常通过实现`...

    新版设计模式手册 - C#设计模式(第二版)

    《新版设计模式手册 - C#设计模式(第二版)》是一部深入探讨C#编程中设计模式的权威指南,尤其适合已经有一定C#基础并希望提升软件设计能力的开发者阅读。设计模式是解决软件开发中常见问题的经验总结,是软件工程的...

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码

    ### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件开发中扮演着至关重要的角色。本文旨在深入解析GoF(Gang of Four,四人组)提出的23种设计...

    软件设计模式--填空题+简答题(复习7).rar

    2. **设计模式分类**:设计模式通常分为三类:创建型模式(如工厂方法、抽象工厂、单例、建造者、原型)、结构型模式(如适配器、桥接、装饰、组合、代理、外观、享元)和行为型模式(如责任链、命令、解释器、迭代...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 ##### 0.1 设计模式解析(总序) 设计模式是面向对象编程中用于解决常见问题的一系列模板。它们为软件设计提供了标准化的解决方案,帮助...

Global site tag (gtag.js) - Google Analytics