
设计模式
_wings
这个作者很懒,什么都没留下…
展开
-
设计模式-单例模式1(基本使用)
单例模式是23种设计模式中最简单,同时也是最常使用到的一种设计模式,它的特点是一个对象只会有一个实例被创建。 比如,在实际程序开发中,程序启动往往需要把配置文件的信息加载到一个类里面。我们希望这个类不被多次实例化,且能够被全局访问,这时候就可以将这个类设计成单例。实现一个单例类,至少应该完成以下步骤: 1、定义一个静态私有变量(指针),指向自身,并声明。 2、定义一个静态公有方法,用于获取类的原创 2017-01-08 16:28:14 · 261 阅读 · 0 评论 -
设计模式-策略模式
策略模式的核心思路:将一个个算法分别封装来,使用算法的客户可以任意地替换任何一种算法。策略模式最大的好处:当算法发生改变时,不会对算法的使用方式造成影响,也就是算法跟算法客户分别独立。下面进行讲解: 场景:古代战争中,士兵对武器(大剑、长毛、弓箭)的选择就是一种策略模式,士兵可以自由选择自己擅长得武器进行战斗。先看UML图:实现此场景需要3个角色: 1、武器抽象,定义了Attck接口 2、具体原创 2017-01-26 16:12:50 · 268 阅读 · 0 评论 -
设计模式-单例模式2(宏定义和模板实现)
上一篇讲了单例模式的基础使用,下面来看看单例模式更“高级”的使用方式。宏定义实现: 如果使用之前的方式去实现单例类,就要为每一个类做相当繁琐的操作,而这些操作其实有很大一部分是高度类似的,我们没必要总是做这些无用功。 不妨,用两个宏来代替这些重复又高度类似的工作:#include <mutex> #include <memory>#define SINGLETON_IMPLEMENT(Clas原创 2017-01-25 16:42:03 · 448 阅读 · 0 评论 -
设计模式-工厂模式
工厂模式,核心思路是将对象的实例化操作封装在一个工厂类,所有的对象都必须由这个“工厂”生产,巧妙地避免了满大街地出现new xxx()这种代码。工厂模式有三种:简单工厂模式、方法工厂模式、抽象工厂模式。 简单工厂模式: __interface IFruite { public: virtual void Show()=0; };class CApple :public I原创 2017-01-25 22:34:14 · 254 阅读 · 0 评论