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