
Design Patterns
Dark-Rich
Let the code into my blood
展开
-
Adapter模式实例
Adapter模式C++实现:#include #include using namespace std;typedef char String[30];struct Point{ int x; int y;};class Car{private: String name; double speed;public: double getSpeed() {原创 2014-09-19 20:34:03 · 514 阅读 · 0 评论 -
Adapter Pattern(适配器模式)
/*Adapter.h*/#ifndef ADAPTER_H#define ADAPTER_Hclass Target{public: Target(); virtual ~Target(); virtual void Request();protected:private:};class Adaptee{public: Adaptee();原创 2015-05-11 11:36:33 · 868 阅读 · 0 评论 -
Prototype Pattern(原型模式)
/*Prototype.h*/#ifndef PROTOTYPE_H#define PROTOTYPE_Hclass Prototype{public: virtual ~Prototype(); virtual Prototype *Clone() const=0;protected: Prototype();private:};class ConcreteP原创 2015-05-06 17:02:32 · 1090 阅读 · 1 评论 -
Decorator Pattern(装饰模式)
/*Decorator.h*/#ifndef DECORATOR#define DECORATORclass Component{public: virtual ~Component(); virtual void Operation();protected: Component();private:};class ConcreteComponent:publi原创 2015-05-11 15:32:43 · 699 阅读 · 0 评论 -
Builder Pattern(建造者模式)
/*Product.h*/#ifndef PRODUCT_H#define PRODUCT_Hclass Product{public: Product(); ~Product(); void ProducePart();protected:private:};class ProductPart(){public: ProductPart();原创 2015-05-06 11:24:41 · 904 阅读 · 1 评论 -
Bridge Pattern(桥接模式)
/*Abstraction.h*/#ifndef ABSTRACTION_H#define ABSTRACTION_Hclass AbstractionImp;class Abstraction{public: virtual ~Abstraction(); virtual void Operation()=0;protected: Abstraction();原创 2015-05-08 13:01:06 · 1060 阅读 · 0 评论 -
Factory Pattern(工厂模式)
/*Product.h*/#ifndef PRODUCT_H#define PRODUCT_Hclass Product{public: virtual ~Product()=0;protected: Product();private:};class ConcreteProduct:public Product{public: ~ConcreteProdu原创 2015-05-11 15:43:06 · 524 阅读 · 0 评论 -
AbstractFactory Pattern(抽象工厂模式)
AbstractFactory Pattern(C++实现)/*Product.h*/#ifndef PRODUCT_H#define PRODUCT_Hclass AbstractProductA{public: virtual ~AbstractProductA();protected: AbstractProductA();private:};class Abst原创 2015-05-02 20:53:27 · 816 阅读 · 0 评论 -
Strategy模式实例
策略设计模式C++实现:#include <iostream>using namespace std;#define GIF 1#define JPEG 2//Interfaceclass ImageSaver{public: virtual void save()=0;};class GIFSaver:public ImageSaver{pub...原创 2014-09-17 16:58:48 · 537 阅读 · 0 评论 -
Simple Factory模式实例
关于Simple Factory模式的实例C++实现:#include using namespace std;class Car{public: virtual char *getInfo()=0;};class BMW:public Car{ char *getInfo() { return "BMW"; }};class Benz:public Ca原创 2014-09-17 15:37:15 · 440 阅读 · 0 评论 -
Singleton Pattern(单例模式)
/*Singleton.h*/#ifndef SINGLETON_H#define SINGLETON_Hclass Singleton{public: static Singleton *Instance();protected: Singleton();private: static Singleton *instance_;};#endif/*Singlet原创 2015-05-03 12:24:08 · 643 阅读 · 0 评论