
Design Pattern
文章平均质量分 83
shenlan282
这个作者很懒,什么都没留下…
展开
-
<Head First 设计模式>:观察者模式--Weather
#ifndef __WEATHER_H__#define __WEATHER_H__#include #include using namespace std;class DisplayElement{public: DisplayElement(){} virtual ~DisplayElement(){} virtual void display(){}};clas原创 2015-04-18 13:32:52 · 575 阅读 · 0 评论 -
<Head First 设计模式>:代理模式:proxy
#ifndef __PROXY_H__#define __PROXY_H__class Subject{public: Subject(){} virtual ~Subject(){} virtual void request(){}};class RealSubject : public Subject{public: RealSubject(){} virtual原创 2015-05-19 21:25:35 · 543 阅读 · 0 评论 -
<Head First 设计模式>:复合模式:duck
#ifndef __QUAKEABLE_H__#define __QUAKEABLE_H__#include #include using namespace std;class QuackObservable;class Observer{public: Observer(){} virtual~Observer(){} virtual void update(QuackO原创 2015-05-20 22:14:23 · 959 阅读 · 0 评论 -
<Head First 设计模式>:状态模式:GumballMachine
#ifndef __STATE_H__#define __STATE_H__#include #includeusing namespace std;class GumballMachine;class State{public: State(); virtual ~State(); virtual void insertQuarter(); virtual void原创 2015-05-06 23:24:52 · 936 阅读 · 0 评论 -
关于A中用到B, B中用到A的问题
//A.h#ifndef AH#define AHclass B;class A {public: B* b; void setB(); ~A();};#endif//B.h#ifndef BH#define BH#include "A.h"class B {public: A a; void haha() {原创 2015-05-06 23:21:00 · 613 阅读 · 0 评论 -
<Head First 设计模式>:组合模式:Component
#ifndef __COMPONENT_H__#define __COMPONENT_H__#include #include using namespace std;class Component{public: virtual ~Component(){} virtual void add(Component *c) {} virtual void remove(Compo原创 2015-05-04 21:54:52 · 607 阅读 · 0 评论 -
<Head First 设计模式>:模板方法模式:Beverage
#ifndef __COFFINEBEVERAGE_H__#define __COFFINEBEVERAGE_H__#include using namespace std;class Beverage{public: Beverage(){} virtual ~Beverage(){} void Prepare() { BoilWater(); Brew(); P原创 2015-04-28 21:25:16 · 624 阅读 · 0 评论 -
<Head First 设计模式>:适配器模式:Adapter
#ifndef __ADAPTER_H__#define __ADAPTER_H__#include using namespace std;class Duck{public: Duck(){} virtual ~Duck(){} virtual void Quack() { cout << "Duck Quack" << endl; } virtual void F原创 2015-04-27 21:50:55 · 720 阅读 · 0 评论 -
<Head First 设计模式>:迭代器模式1:Iterator
//今天一口气把这一章前半部分的iterator例子的所有代码写完,涉及到了不少指针的内容,竟然一个bug都没。。。。//Iterator与Menu之间应该不是has a的关系,先这样着吧。#ifndef __MENUITEM_H__#define __MENUITEM_H__#include #include #include using namespace std;clas原创 2015-04-29 23:07:47 · 654 阅读 · 0 评论 -
<Head First 设计模式>:工厂模式2:抽象工厂模式--Pizza
#ifndef __INGREDIENT_H__#define __INGREDIENT_H__#include using namespace std;class Dough{};class ThinDough:public Dough{};class BigDough :public Dough{};class CaDough :public Dough{原创 2015-04-21 23:27:01 · 753 阅读 · 0 评论 -
<Head First 设计模式>:命令模式:Command
#ifndef __COMMAND_H__#define __COMMAND_H__#include #include "Equipment.h"class Command{public: Command(){} virtual ~Command(){} virtual void Execute(){} virtual void Undo(){}};class NoCo原创 2015-04-26 01:49:51 · 574 阅读 · 0 评论 -
<Head First 设计模式>:装饰者模式--Beverage
#ifndef __BEVERAGE_H__#define __BEVERAGE_H__#include using namespace std;class Beverage{public: Beverage() { } virtual ~Beverage(){} virtual string getDescripthion() { return "Unknown B原创 2015-04-19 14:29:25 · 559 阅读 · 0 评论 -
<Head First 设计模式>:单件模式:Singleton
#ifndef __SINGLETON_H__#define __SINGLETON_H__class Singleton{private: static Singleton* instance; Singleton(){}public: static Singleton* getInstance() { if (instance == NULL) { instan原创 2015-04-22 19:50:35 · 597 阅读 · 0 评论 -
<Head First 设计模式>:策略模式--Duck
策略模式原创 2015-04-16 21:04:58 · 757 阅读 · 0 评论 -
观察者模式与变种
原始观察者模式:增加一个Message类,用来传递消息外部发送一个message给 [被观察者],[被观察者]发这个message发送给[观察者]代码如下:#include #include using namespace std; class Message;class Observer;class Subject{public: virtua原创 2018-01-10 11:23:39 · 603 阅读 · 0 评论