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

Prototype模式学习笔记

阅读更多

适用情况:当一个系统要生产很多种产品(这些产品可能构成复杂的层次结构)时,想避免生成和产品种类个数(以及产品层次结构)相同的实体工厂。或者说某些种产品会临时加入到生产线,当前没有一个工厂知道怎么生产这种产品(初始化产品)或者生产一次产品的代价很大。

 

 解决方案:将每一种产品的一个实例(或者多个实例,每个实例代表这种产品的一种初始化状态)作为一个prototype,所有产品都有一个clone()接口用来复制产品实例本身。 这样当系统需要一种产品时,只要调用这种产品对应的prototype的clone()方法就行了。

类图:

 



 

 

 

  GOF中的例子:





 
 
   实际应用:最典型的应用应该是当产品对象是动态加载的,比如说从数据库或者从网络加载的。这样的话要再生成一次对象代价很大(重新读数据库),或者说不可能(网络传输已经断开)。于是就以第一次生成的对象作为prototype来生产后面的对象。

 

   与其它设计模式的比较:TBD

  • 大小: 23.2 KB
  • 大小: 41.7 KB
分享到:
评论

相关推荐

    设计模式学习笔记大全

    以上就是压缩包中的设计模式学习笔记涉及到的主要内容。通过对这些模式的理解和应用,开发者可以更好地解决软件设计中的问题,提升软件的质量和可维护性。每种模式都有其适用场景,理解其背后的意图和应用场景是关键...

    prototype学习笔记

    这篇"prototype学习笔记"可能探讨了如何利用原型链实现面向对象编程的关键技术。以下是对这个主题的详细解析。 首先,理解`prototype`的基本含义是关键。在JavaScript中,每个函数都有一个`prototype`属性,这个...

    23种设计模式学习笔记及源码

    这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...

    设计模式学习笔记

    ### 设计模式学习笔记 #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂类,这个工厂类能够根据不同的输入参数返回不同的对象实例。简单工厂模式并不涉及继承关系,...

    prototype+开发笔记

    本笔记将深入探讨`Prototype`机制及其在实际开发中的应用。首先,我们从基本概念出发,理解`Prototype`的核心原理。 `Prototype`是JavaScript中每个对象所固有的特性,它为对象提供了继承的能力。在JavaScript中,...

    GoF 23种设计模式学习笔记

    "GoF 23种设计模式学习笔记" 是一个深入探讨这23个经典设计模式的资源,这些模式最初由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者在1994年的著作《设计模式:可复用面向对象软件的基础》中...

    《设计模式》学习笔记

    ### 设计模式学习笔记 #### 引言 设计模式(Design Patterns)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...

    23中设计模式学习笔记.docx

    ### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...

    300Java设计模式部分学习笔记

    以下是一些在尚学堂300Java设计模式部分学习笔记中涉及的设计模式的知识点: 创建型模式: 创建型模式主要解决对象创建的问题,确保系统的灵活性和封装创建细节。学习笔记中提到了5种创建型模式: 1. 单例模式...

    Prototype开发笔记.doc

    总结起来,《Prototype开发笔记》是学习和理解Prototype框架的重要资源,它涵盖了从基本的DOM操作到复杂的Ajax交互,以及JavaScript语言的扩展和增强。通过深入学习这份笔记,开发者能够有效地利用Prototype来构建...

    javascript设计模式之模块模式学习笔记.docx

    CustomType.prototype.getName = function () { return this.name; }; var application = (function () { // 私有变量 var privateA = "aa"; // 实例化CustomType var object = new CustomType(); // 增加...

    Prototype整理的学习资料

    这个压缩包中的"Prototype学习笔记.doc"很可能是对Prototype模式深入理解的详细文档。下面将从Prototype设计模式的基本概念、在JavaScript中的应用、与Ajax的关系以及如何与其他技术如Java和JavaScript库交互等方面...

    prototype.js开发笔记

    尽管 Prototype.js 提供了丰富的功能,但其文档相对较少,这使得很多开发者不得不直接深入源代码来学习和理解其工作原理。本文档将通过一系列实践笔记的形式分享 Prototype.js 的使用技巧,并探讨其核心功能。 ####...

    prototype 开发应用手册,笔记,prototype.js文件下载

    《Prototype开发应用手册:深入解析与实践》 Prototype是一个强大的JavaScript库,由Sam Stephenson创建,旨在提升...通过学习和掌握Prototype,开发者可以更好地驾驭JavaScript,创造出更具交互性的Web应用。

    prototype 学习笔记整理

    这是Prototype库提供的一种创建类的模式,它返回一个函数,这个函数可以被用来创建新对象。`Class.create()`的核心在于`initialize`方法,它是每个实例在创建时自动调用的构造函数。例如: ```javascript var ...

    23个设计模式图解--学习笔记

    在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...

Global site tag (gtag.js) - Google Analytics