摘要: 观察者模式原理:当有新的消息产生时发送给观察者,和中介者模式的不同地方是中介者模式强调中介的作用以及中介双方的交互,观察者模式是主动调用观察者成员函数进行消息发送。代码如下:#include #include #include using namespace std;class Observer{public: virtual void Update() { }};class Blog{public: void attach(Observer *pobserver) { m_listObserver.push_back(pobserver); } void remove(Observe... 阅读全文
posted @ 2013-07-23 22:26 l851654152 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 策略模式原理:策略模式和简单工厂模式有点类似,只是简单工厂模式产生的是对象,策略模式产生的是根据对象产生的算法。代码如下:#include #include #include using namespace std;enum CACHE{FIFO,LRU,RANDOM};class ReplaceAlgorithm{public: virtual void replace(){}};class FIFOAlgorithm:public ReplaceAlgorithm{public: virtual void replace(){cout replace(); }private: Replac 阅读全文
posted @ 2013-07-23 13:02 l851654152 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式原理:将对象的私有数据存储在其他地方,以便重新加载代码如下:#include #include #include using namespace std;class GameRole;class Memeno{public: Memeno(int vitality = 0,int defense = 0,int attack = 0): m_vitality(vitality),m_defense(defense),m_attack(attack){} void show() { cout m_vecMemeno;};int main(){ GameRole role; Meme.. 阅读全文
posted @ 2013-07-23 12:18 l851654152 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 中间者模者模式原理:中介者维持所有要交互对象的指针或者对象,所有对象维持一个中介者的指针或者对象。#include #include using namespace std;class Mediator;class Person{public: virtual GetMessage(string message) { } virtual void SendMessage(string message) { } virtual void SetMediator(Mediator *pmdiator) { }protected: Mediator *m_pmediator; };class M.. 阅读全文
posted @ 2013-07-23 01:31 l851654152 阅读(205) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std;class Receiver{public: void do_execute() { cout do_execute();}private: Receiver *m_preceiver;};int main(){ Command *pcmd = new Command(); pcmd->execute(); return 0;} 阅读全文
posted @ 2013-07-23 00:42 l851654152 阅读(177) 评论(0) 推荐(0) 编辑