设计模式
文章平均质量分 77
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
备忘录模式
#include #include #include using namespace std;//备忘录模式:备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。//备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,//并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。//设计需要回放的软件,记录一下事物的状态。数据库备份,文档的编译,原创 2016-07-29 17:33:46 · 14176 阅读 · 0 评论 -
策略模式
#include #include #include using namespace std;//策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,//从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。//策略模把行为和环境分开。环境类负责维持和查询行为类,//各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减、修原创 2016-07-29 19:11:32 · 14250 阅读 · 0 评论 -
抽象工厂模式
#include #include using namespace std;//工厂模式:客户类和工厂类分开。//消费者任何时候需要某种产品,只需向工厂请求即可。//消费者无须修改就可以接纳新产品。缺点是当产品修改时,//工厂类也要做相应的修改。如:如何创建及如何向客户端提供。//消费者不固定,工厂者不固定,(工厂根据消费者动作)//实现步骤//实现消费者抽象基类,消费者派生原创 2016-07-29 20:46:10 · 14117 阅读 · 0 评论 -
工厂方法模式
#include #include using namespace std;//工厂方法模式:核心工厂类不再负责所有产品的创建,//而是将具体创建的工作交给子类去做,成为一个抽象工厂角色//,仅负责给出具体工厂类必须实现的接口,//而不接触哪一个产品类应当被实例化这种细节。//相当于请同一个妹子去不同的地方做不同的事。class Operation{public:原创 2016-07-29 21:09:19 · 14247 阅读 · 0 评论 -
代理模式
#include #include using namespace std;//代理模式:代理模式给某一个对象提供一个代理对象,//并由代理对象控制对源对象的引用。//代理就是一个人或一个机构代表另一个人或者一个机构采取行动。//某些情况下,客户不想或者不能够直接引用一个对象,//代理对象可以在客户和目标对象直接起到中介的作用。//客户端分辨不出代理主题对象与真实主题对象。//代原创 2016-07-29 22:26:22 · 14179 阅读 · 0 评论 -
单例模式
#include #include using namespace std;//单例模式:单例模式确保某一个类只有一个实例,//而且自行实例化并向整个系统提供这个实例单例模式//单例模式只应在有真正的“单一实例”的需求时才可使用。//#define public private 解除单例模式class Singleton{private: int i; static S原创 2016-07-29 22:49:00 · 14133 阅读 · 0 评论 -
访问者模式
#include #include #include using namespace std;//访问者模式:访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。//一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。//访问者模式适用于数据结构相对稳定的系统,//它把数据结构和作用于结构上的操作之间的耦合解脱开,//使得操作集合可以相对自由的演化。访问者模式使得原创 2016-07-29 23:25:05 · 14230 阅读 · 0 评论 -
观察者模式
#include #include #include using namespace std;//QT的和Windows的消息机制都是观察者模式实现的。//实现原理:有一个监视类,存储了所有观察者对象的地址,//当收到消息的时候就调用每一个类的处理函数对他们进行操作.//观察者模式:观察者模式定义了一种一对多的依赖关系,//让多个观察者对象同时监听某一个主体对象。//这个主体原创 2016-07-30 10:17:37 · 14271 阅读 · 0 评论
分享