`

Prototype 原型 Singleton单件

阅读更多

Prototype 原型,创建型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建心的对象。

 

适用性:

1、 当要实例化的类是在运行时刻指定的

2、为了避免创建一个鱼产品类层次平行的工厂类层次时

3、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆他们,可能比每次用合适的状态手工实例化该类要更方便点。

 

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

 

 

尚未深刻理解标记

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

 Singleton 单件, 创建型模式,保证类只有一个实例,并提供一个访问它的全局访问点。

   

 

创建型模式的讨论,载自《设计模式》:

 

    用系统创建的那些对象的类对系统进行参数化有两种常用的方法。一种是生成创建对象的子类;这对应于使用 Factory Methord 模式。这种模式的主要缺点是,仅仅为该百年产品类,就需要创建一个新的子类,而且这样的改变可能是级联的 。比如,若果产品的创建者本身是由一个工厂创建的,那么你iye必须重定义他的创建则。

 

   另一种对系统进行参数化的方法更多的依赖于对象的复合:定义一个对象负责明确产品对象的类,并将它作为改系统的参数。这就是Abstract Factory Builder Prototype模式的关键特征。所有这三个模式都涉及到创建一个新的负责创建产品对象的“工厂对象”。Abstract Factory由这个工厂对象产生很多个类的对象。Builder由这个工厂对象使用一个相对复杂ud协议,逐步创建一个复杂产品。Protype由该工厂对象通过拷贝原型对象来创建产品对象。在这种情况下,因为原型负责返回产品对象,所以工厂对象和原型对象是同一个对象。

  • 大小: 44.5 KB
  • 大小: 27.8 KB
分享到:
评论

相关推荐

    设计模式之创建型模式

    本次代码只提供了创建型模式的应用代码和说明,包括:Singleton 单件,Abstract Factory 抽象工厂,Builder 生成器,Factory Method 工厂方法。 Singleton模式解决的是实体对象个数的问题。除了Singleton...

    设计模式,软件开发者必读

    2.1 SINGLETON单件模式 11 2.1.1 典型的SINGLETON类 11 2.1.2 多线程安全的SINGLETON类 12 2.1.3 双重锁定SINGLETON 13 2.1.4 静态初始化SINGLETON 13 2.1.5 SINGLETON的子类化问题 14 2.1.6 SINGLETON销毁 15 2.1.7...

    设计模式整理(很全)

    创建模式 设计模式之Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用new一样频繁....

    JAVA设计模式23种

    设计模式之Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new一样频繁. 设计模式...

    系统分析员必备—技术规范文萃(word160多页)(强烈推荐)

    技术规范文萃160多页Doc格式(强烈推荐).zip Abstract Factory(抽象工厂模式) Factory Method(工厂模式) Prototype(原型模式) Singleton(单件模式) Adapter(适配器模式) …… 大多了,大家自己看吧

    C++设计模式(Design Pattern)范例源代码

    原型模式(Prototype) 单件模式(Singleton) 结构型: 适配器模式(Adapter) 桥接模式(Bridge) 组合模式(Composite) 装饰者模式(Decorator) 外观模式(Facade) 蝇量模式(Flyweight) 代理模式(Proxy) 行为型: 责任链...

    C#面向对象设计模式纵横谈(视频与源码)

    C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式) C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式) C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) C#面向...

    C#设计模式_设计模式_C#_

    单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype)结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接模式(Bridge ...

    23种设计模式 (创建型,结构型,行为型)

    单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接...

    设计模式代码——c#

    1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter Pattern) 7...

    C#设计模式(23种设计模式)

    单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter Pattern) 7. 桥接...

    32种设计模式

    单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器模式(Adapter ...

    设计模式--可复用面向对象软件的基础

    3.5 SINGLETON(单件)——对象创建型模式 第四章 结构型模式 4.1 ADAPTER(适配器)——对象结构型模式 4.2 BRIDGE(桥接)——对象结构型模式 4.3 COMPOSITE(组成)——对象结构型模式 4.4 DECORATOR(装饰)——...

    GOLF设计模式(C++语言版)

    3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—...

    Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides23种设计模式

    3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—对象结构...

    《设计模式》中文版(23个设计模式的介绍与运用)

    3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—对象结构...

    设计模式(Design.Patterns.CHN)

    3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—对象结构...

    JAVA经典设计模式大全

    3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—...

Global site tag (gtag.js) - Google Analytics