`
dr2tr
  • 浏览: 143791 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Design Patterns -- Prototype

阅读更多

The intent of the prototype pattern is to provide new objects by copying examples. A major difference caused by copying is that a copy typically includes some of the state of the original object.

The Prototype pattern is used when creating an instance of a class is very time-consuming or complex in some way. Then, rather than creating more instances, you make copies of the original instance, modifying them as appropriate. Prototypes can also be used whenever you need classes that differ only in the type of processing (or field)  they offer i.e. when there are many subclasses that differ only in the kind of objects they create a Prototype Pattern can be used to reduce the number of subclasses by cloning a prototype.

see UML:

some explaination:

  • Prototype  (ColorPrototype)
    • declares an interface for cloning itself
  • ConcretePrototype  (Color)
    • implements an operation for cloning itself
  • Client  (ColorManager)
    • creates a new object by asking a prototype to clone itself

    When to copy, Object.clone() can help. But the clone() is not deep copy, that's should be noticed.

     

     

  • 分享到:
    评论

    相关推荐

      java-design-patterns-master_JAVAdesignpattens_java_design_

      这个压缩包“java-design-patterns-master”显然是一个专注于Java设计模式的学习资源,旨在帮助开发者深入理解和应用这些模式。下面我们将详细探讨Java设计模式及其在实际开发中的应用。 1. **单例模式(Singleton...

      GOF-设计模式-Design Patterns-英文原版-高清-有目录-有页码

      **设计模式**(Design Patterns)是软件工程中的一个重要概念,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本章节将从多个角度对设计模式进行深入探讨。 #### 二、设计模式的基本定义 ...

      java-Design-Patterns-chinese.rar_java design patterns

      这个“java-Design-Patterns-chinese.rar”压缩包文件包含了对Java设计模式的详细中文解释,非常适合Java开发者学习和参考。 在Java设计模式中,主要分为三大类:创建型、结构型和行为型模式。 1. **创建型模式**...

      DesignPatterns-master.zip

      - 原型模式(Prototype):通过复制已有对象来创建新对象,避免重复的构造过程。 - 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪个类。 - 抽象工厂模式(Abstract Factory)...

      design-patterns-cpp-master.zip

      在"design-patterns-cpp-master.zip"这个压缩包中,我们可以期待找到C++实现的各种设计模式的代码示例。设计模式通常分为三大类:创建型模式、结构型模式和行为型模式。 1. 创建型模式: - 单例模式(Singleton)...

      yifanzheng-java-design-patterns-master_java_

      本资源"yifanzheng-java-design-patterns-master"是一个专注于Java设计模式的入门学习项目,作者承诺将持续更新,旨在帮助初学者和开发者更好地理解和应用这些模式。 设计模式通常分为三大类:创建型模式、结构型...

      Design-Patterns-JS, 在Javascript中,实现了所有 23 ( GoF ) 设计模式.zip

      Design-Patterns-JS, 在Javascript中,实现了所有 23 ( GoF ) 设计模式 设计模式 JS 在这里,你将使用Prototype和ES6类在JavaScript中实现 23 ( GoF ) 设计模式。 你可以使用英镑 docs.md 来加快示例的概述。遵循...

      Design Patterns in Modern C++--2018

      Use creational patterns of builder, factories, prototype and singleton Implement structural patterns such as adapter, bridge, decorator, facade and more Work with the behavioral patterns such as ...

      Head-First-Design-Patterns-master设计模式官方源码

      5. 原型模式(Prototype Pattern):原型模式通过复制已有对象来创建新对象,而不是通过new操作,可以提高对象创建的性能,特别是当对象创建过程复杂时。 6. 组合模式(Composite Pattern):组合模式将对象组织成...

      DesignPatterns-JS-Clicker:JS 设计模式的赋值

      "DesignPatterns-JS-Clicker"项目是一个关于JavaScript设计模式的学习资源,主要用于Udacity在线课程中的JS Design Patterns课程。下面将详细介绍几种常见的JavaScript设计模式及其应用。 1. **单例模式**:确保一...

      .NET Design Patterns [Kindle Edition]

      After reading this book, you will be able to convincingly leverage these design patterns (factory pattern, builder pattern, prototype pattern, adapter pattern, facade pattern, decorator pattern, ...

      Design.Patterns.Explained.Simply

      We've tried hard to avoid both of these categories with Design Patterns Explained Simply. This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is ...

      Java-Design-Patterns

      包括单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)、原型(Prototype)等模式。例如,单例模式确保一个类只有一个实例,并提供一个全局访问点。工厂方法模式则...

      Design_Patterns-Elements_of_Reusable_Object-Oriented_Software

      - **原型(Prototype)**:通过复制已经存在的实例来创建新的实例。 - **单例(Singleton)**:确保一个类只有一个实例,并提供一个访问它的全局访问点。 ##### 3.2 结构型模式 - **适配器(Adapter)**:将一个类的接口...

      design patterns elements of reusable object-oriented software

      ★附录A介绍了剩下的设计模式:Bridge(桥接)、Builder(生成器)、Chainof Responsibility(责任链)、Flyweight(蝇量)、Interpreter(解释器)、Mediator(中介者)、Memento(备忘录)、Prototype(原型)、...

      设计模式专题,共 23 种设计模式。GOF design patter-java-design-patterns.zip

      设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是由GoF(Gang of Four)在...在Java设计模式的实践中,可以通过`java-design-patterns-main`这个项目进一步探索和应用这些模式。

      IT十年经典书系列英文版-Design_Patterns-Elements_of_Reusable_Object-Oriented_Software.pdf

      - 原型(Prototype):通过复制已存在的实例来创建新对象。 - 单例(Singleton):确保一个类只有一个实例,并提供一个全局访问点。 - **结构型模式**:关注类和对象的组合,封装复杂的关联关系,使代码设计更具...

    Global site tag (gtag.js) - Google Analytics