设计模式
文章平均质量分 61
设计模式C++实现
朱传林
每个不曾起舞的日子,都是对生命的辜负!
展开
-
设计模式之一简单工厂模式
根据用户需求实例化不同对象。 //simple factory model #include using namespace std; //用一个单独的类来做这个创造实例的过程,即工厂 class Operation{ public: Operation() { number1=0; number2=0; result=0; } Operation(int one原创 2015-08-25 20:26:36 · 756 阅读 · 0 评论 -
设计模型之二策略模式
//strategy model //策略模式是一种定义一系列算法的方法 #include using namespace std; //一个抽象的策略类 class Strategy{ public: virtual void algorithmInterface()=0; }; //三种不同策略 class StrategyA:public Strategy{ void algori原创 2015-08-25 21:51:28 · 839 阅读 · 0 评论 -
设计模式之三装饰模式
//decorate model //用于给某些类动态添加功能,虽然添加了一些功能,但人还是人,只不过是装饰后的人 #include #include using namespace std; class Person{//被装饰对象类 public: virtual void show() { cout<<"Person"<<endl; } }; class Decorate:原创 2015-08-26 09:02:48 · 553 阅读 · 0 评论 -
设计模式之四代理模式
//代理模式,对真实对象的访问通过代理完成 #include using namespace std; //代理和真实对象的公用接口 class Subject{ public: virtual void request()=0; virtual void behavior()=0; }; //真实对象 class RealSubject:public Subject{ public:原创 2015-08-26 09:37:28 · 596 阅读 · 0 评论 -
设计模式之五工厂方法模式
//simple factory model //与简单工厂模式的区别:简单工厂模式在增加新操作时,需要更改工厂函数,违反了开放与封闭原则 //而工厂方法模式支持扩展,在修改时只需要添加新的操作类和工厂类即可,但客户端也需要作相应的修改 #include using namespace std; //用一个单独的类来做这个创造实例的过程,即工厂 class Operation{ public:原创 2015-08-26 11:27:07 · 545 阅读 · 0 评论 -
设计模式之六模板方法模式
#include using namespace std; //把所有公共操作都提取到基类实现,具体操作由子类完成 class AbstractClass{ public: virtual ~AbstractClass() { //基类要有虚析构函数 } void templateMethod() { PrimitiveOperation1(); PrimitiveO原创 2015-08-26 15:55:40 · 515 阅读 · 0 评论 -
设计模式之七外观模式
//外观模式:给接口提供一致的外观 //当客户需要使用到子系统的多个功能时,客户如果逐个去调用每一个功能会引起较大代码量; //并存在潜在的错误可能性; //如果这些功能都位于不同的类中,客户需要去了解每一个类 //解决方法是:为所有类的接口提供一个一致的接口,这一接口提供了所有用户需要的操作; //通俗理解:木兰从军,需要买各种从军用品如马、马鞍、配剑、靴子等,这些东西都不在同一个店里,从而导致原创 2015-08-26 17:12:34 · 671 阅读 · 0 评论