2011年6月3日

Visitor (C++实现)

摘要: // Visitor.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>using namespace std;class Visitor;class Element{public:virtual ~Element(){}virtual void Accept(Visitor &rVisitor) = 0;protected:Element(){}};class ConcreateElementA: public Element{publi 阅读全文

posted @ 2011-06-03 10:31 IT@民工 阅读(167) 评论(0) 推荐(0) 编辑

2011年6月2日

Template Method (C++实现)

摘要: // Template Method.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;class AbstractClass{public:AbstractClass(){}virtual ~AbstractClass(){}// 这个函数中定义了算法的轮廓void TemplateMethod(){PrimitiveOperation1(); PrimitiveOperation2();}protected:// 纯虚函数,由派生类实现之virtua 阅读全文

posted @ 2011-06-02 23:43 IT@民工 阅读(146) 评论(0) 推荐(0) 编辑

Strategy (C++实现)

摘要: // Strategy.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;class Strategy;class Context{public:Context(Strategy *pStrategy=NULL):m_pStrategy(pStrategy){}~Context(){}void ContextInterface();void setStrategy(Strategy* s){m_pStrategy=s;}private:Strategy* 阅读全文

posted @ 2011-06-02 23:41 IT@民工 阅读(143) 评论(0) 推荐(0) 编辑

2011年6月1日

State (C++实现)

摘要: // State.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;class State;class Context{public:Context(State* pState);~Context();void Request();void ChangeState(State *pState);private:State *m_pState;};class State{public:virtual ~State(){}virtual void Handl 阅读全文

posted @ 2011-06-01 14:53 IT@民工 阅读(184) 评论(0) 推荐(0) 编辑

Observer (C++实现)

摘要: // Observer.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <list>#include <algorithm>using namespace std;typedef int STATE;class Observer;class Subject{public:Subject() : m_nSubjectState(-1){}virtual ~Subject();void Notify();void Attach(Observer *pOb 阅读全文

posted @ 2011-06-01 12:22 IT@民工 阅读(225) 评论(0) 推荐(0) 编辑

2011年5月31日

Memento (C++实现)

摘要: // Memento.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>using namespace std;typedef string STATE;class Memento;class Originator{public:Originator(){}Originator(const STATE& st):m_state(st){}virtual ~Originator(){}Memento* CreateMemento();void 阅读全文

posted @ 2011-05-31 19:15 IT@民工 阅读(153) 评论(0) 推荐(0) 编辑

Mediator (C++实现)

摘要: 好文章推荐: http://blog.csdn.net/roynee/archive/2009/10/05/4634197.aspx下面是简单实现:(转载)class Mediator;class Colleage{public:virtual ~Colleage(){};virtual void Action()=0;virtual void SetState(const string& sd)=0;virtual string GetState()=0;protected:Colleage(){};Colleage(Mediator* mdt){this->m_mdt=mdt 阅读全文

posted @ 2011-05-31 10:45 IT@民工 阅读(203) 评论(0) 推荐(0) 编辑

2011年5月30日

Iterator (C++实现)

摘要: // Iterator.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;typedef int DATA;class Iterator;class Aggregate{public:Aggregate(){}virtual ~Aggregate(){}virtual Iterator* CreateIterator()=0;virtual int GetSize()=0;virtual DATA GetItem(int index)=0;};class 阅读全文

posted @ 2011-05-30 15:17 IT@民工 阅读(178) 评论(0) 推荐(0) 编辑

2011年5月29日

Interpreter (C++实现)

摘要: http://blog.csdn.net/roynee/archive/2009/09/30/4621312.aspx 阅读全文

posted @ 2011-05-29 23:29 IT@民工 阅读(230) 评论(0) 推荐(0) 编辑

Command (C++实现)

摘要: // Command.cpp : 定义控制台应用程序的入口点。///*该实现为最简单方式。*/#include "stdafx.h"#include <iostream>using namespace std;class Command{public :Command(){}virtual~ Command(){}virtual void Execute()=0;};class Receiver{public:Receiver(){}virtual ~Receiver(){} void Action() { cout<<"Do execut 阅读全文

posted @ 2011-05-29 20:38 IT@民工 阅读(173) 评论(0) 推荐(0) 编辑

导航