随笔分类 - 设计模式
摘要:#include /*策略模式:定义一系列算法的方法,从概念上说所有这些算法完成相同的工作,只是实现不同,他用相同的方式调用所有的算法,减少了各种算法类和使用算法类之间的耦合策略模式的strategy类层次为context定义了一系列的可供重用的算法和行为,继承有助于析取出这些算法的公共部分刚开始写...
阅读全文
摘要:Observer.h#ifndef _OBSERVER_H_#define _OBSERVER_H_#include #include #include class ConcreteSubject;//抽象观察者class Observer{public: /** *@brief 更新...
阅读全文
摘要:对于抽象工厂的封装#ifndef _AbstractFactory_#define _AbstractFactory_#include /** *@brief 具体工厂类 *@param Product 抽象产品 *@param ConcreateProduct 具体产品 */template cl...
阅读全文
摘要://简单工厂/*当新添加一个操作时,需要添加新的实现类和在工厂方法的switch中添加,打破了开放封闭原则*/#if 0class operation{public: virtual int GetResult(int nParam1, int nParam2) = 0;};enum Ope...
阅读全文
摘要:单看简单工厂,工厂方法,抽象工厂定义和网上的一些小例子不难,但在我们项目里面和经理写的一个关于包的使用的一个抽象工厂完全傻眼了但看这三种工厂模式http://www.jellythink.com/archives/category/programdesign/designpattern 讲的很好我们...
阅读全文
摘要:class Logger{public: /** *@brief 获取Logger实例 */ static Logger* Instance() { if (!ms_pInstance) ms_pInstance = new Lo...
阅读全文
摘要:Observer观察者模式作用:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己UML图:Subject类,可翻译为主题或抽象通知者,一般用一个抽象类或者一个借口实现。它把所有对观察者对象的引用保...
阅读全文
摘要:#include struct I_Pro{ virtual void fun() = 0;};class A : public I_Pro{public: virtual void fun();};void A::fun(){ std::cout createPro(); ...
阅读全文
摘要:#include struct I_Pro{ virtual void fun() = 0;};class A : public I_Pro{public: virtual void fun();};void A::fun(){ std::cout createPro(2); ...
阅读全文