
设计模式--创建型模式
yuweihuangda1234
这个作者很懒,什么都没留下…
展开
-
C++设计模式-Builder建造者模式
作用:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式和AbstractFactory模式在功能上很相似,因为都是用来创建大的复杂的对象,它们的区别是:Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的。而在AbstractFactory模式中对象是直接返回的,转载 2014-08-02 14:55:24 · 274 阅读 · 0 评论 -
设计模式之创建型模式
GoF的设计模式一共23个,可以分为3大类:创建型、结构型和行为型,这篇文章主要讨论创建型。 创建型的设计模式包括:简单工厂(Simple Factory)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、单例(Singleton)、构造者(Builder)和原型(Prototype),我们分别来讨论。 我们首先来看工厂系列的3个设计模式,它们都转载 2015-08-11 13:23:37 · 348 阅读 · 0 评论 -
C++设计模式-AbstractFactory抽象工厂模式
AbstractFactory要创建一组相关或者相互依赖的对象作用:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。UML结构图:抽象基类:1)AbstractProductA、AbstractProductB:分别代表两种不同类型的产品,由具体的产品派生类对其实现2)AbstractFactory:抽象工厂类,提供创建两转载 2014-08-02 14:54:17 · 334 阅读 · 0 评论 -
C++设计模式-Prototype原型模式
作用:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式提供了一个通过已存在对象进行新对象创建的接口(Clone), Clone()实现和具体的语言相关,在C++中通过拷贝构造函数实现。UML图如下:代码如下:Prototype.h 1 #ifndef _PROTOTYPE_H_ 2 #define转载 2014-08-02 14:58:49 · 480 阅读 · 0 评论 -
C++设计模式-Factory工厂模式
Factory1、定义创建对象的接口,封装对象的创建2、将实际创建工作延迟到子类中,例如,类A中药使用类B,B是抽象父类,但是在类A中不知道具体要实例化哪一个B的子类,但是在类A的子类D中是可以知道的。在A中无法使用 new B***()方法3、将创建工作延迟到子类中后,核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂,只提供工厂子类必须实现的接口,这样的好处是可以不用修改已有转载 2014-08-02 14:50:06 · 368 阅读 · 0 评论 -
C++设计模式-Singleton
Singleton单例模式Singleton 是对全局变量的取代策略作用:保证一个类只能有一个实例,并提供一个全局唯一的访问点。仅有一个实例:通过类的静态成员变量来体现。提供访问它的全局访问点:访问静态成员变量的静态成员函数来体现。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。转载 2014-08-02 14:56:11 · 283 阅读 · 0 评论