C++设计模式
小猿同学
这个作者很懒,什么都没留下…
展开
-
用C++实现单例模式(Singleton)
单例模式是23种设计模式中比较简单和容易理解的,也是设计模式中经常用到的。单例模式定义为确保某一个类只有一个实例,而且能够自行实例化并提供给系统使用。UML图如下所示:考虑到C++默认实现构造函数、拷贝函数及赋值函数,程序需要在private成员函数中显示实现构造函数、拷贝函数及赋值函数,防止客户端误使用,并通过接口getInstance调用Singleton的构造函数。同时考虑到线...原创 2019-04-27 13:43:41 · 361 阅读 · 0 评论 -
简单工厂,工厂方法,抽象工厂的区别
对于简单工厂,工厂方法,抽象工厂比较容易混淆,在这很有必要总结一下这三种设计模式的特点、相同之处和不同之处。1 本质: 这三种设计模式的名字中都含有“工厂”二字,其含义是使用工厂(一个或一系列方法)去生产产品(一个或一系列类的实例)。 另外,有时候,我们常常会将生产产品的一个或一系列方法封装到一个类中,我习惯把这个类叫做“工厂类”;而被实例化的类称作“产品类”。...原创 2019-04-28 21:18:53 · 885 阅读 · 0 评论 -
简单工厂C++示例
简单工厂UML图简单工厂C++源码//AbstractProduct.h#ifndef ABSTRACTPRODUCT_H#define ABSTRACTPRODUCT_Hclass AbstractProduct{public: virtual void color()=0; virtual void shape()=0;};#endif...原创 2019-04-29 21:23:10 · 699 阅读 · 0 评论 -
工厂方法C++示例
工厂方法UML图//AbstractFactory.h#ifndef ABSTRACTFACTORY_H#define ABSTRACTFACTORY_Hclass AbstractProduct;class AbstractFactory{public: virtual AbstractProduct* createProduct()=0;};#end...原创 2019-04-29 21:29:34 · 469 阅读 · 0 评论 -
抽象工厂C++示例
抽象工厂UML图://AbstractFactory.h#ifndef ABSTRACTFACTORY_H#define ABSTRACTFACTORY_Hclass AbstractProduct;class AbstractFactory{public: virtual AbstractProduct *createjipu()=0; virtua...原创 2019-04-29 21:32:35 · 646 阅读 · 0 评论