![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
mct123
这个作者很懒,什么都没留下…
展开
-
享元模式c++代码实现
// flyweight.cpp : 定义控制台应用程序的入口点。//#include #include #include using namespace std;class Flyweight{public: //map会使用空构造 Flyweight() { } Flyweight(string intrinsicState原创 2014-06-23 16:20:51 · 560 阅读 · 0 评论 -
访问者模式的c++代码实现
百度了下访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。原创 2014-07-07 16:44:51 · 544 阅读 · 0 评论 -
责任链模式的c++代码实现
责任链模式:在责任链模式中,很多对象由每一个对象对其下家的引用而接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态的重新组织链和分配责任。处理者有两个选择:承担责任或者把责任推给下家。一个请求可以最终不被任何接收端对象所接受。原创 2014-07-07 18:41:27 · 654 阅读 · 0 评论 -
命令模式的c++代码实现
命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。原创 2014-07-07 15:07:05 · 897 阅读 · 0 评论 -
观察者模式的c++代码实现
观察者模式--观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。原创 2014-06-26 10:21:03 · 908 阅读 · 0 评论 -
状态模式的c++代码实现
状态模式--当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可考虑用到状态模式。// state.cpp : 定义控制台应用程序的入口点。#includeusing namespace std;class Work;class State{public: virtual void work(Work &w)//上面的前置声明,这里才可原创 2014-06-25 17:40:44 · 499 阅读 · 0 评论 -
备忘录模式的c++代码实现
备忘录模式--在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。原创 2014-06-26 14:51:35 · 783 阅读 · 0 评论 -
中介者模式的c++代码实现
中介者模式--用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而降低耦合;而且可以独立地改变它们之间的交互。原创 2014-06-26 16:47:46 · 585 阅读 · 0 评论 -
模板模式c++代码实现
模板--定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。原创 2014-06-24 15:17:19 · 555 阅读 · 0 评论 -
代理模式c++代码的实现
代理模式--代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 // proxy.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;class Subject{public: virtual void request() { cout << "Subject::re原创 2014-06-24 14:46:18 · 711 阅读 · 0 评论 -
外观模式c++代码实现
外观模式--外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。原创 2014-06-24 10:56:12 · 608 阅读 · 0 评论 -
策略模式c++代码实现
策略模式--策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。// strategy.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;class Strategy{ public: virtual void f() {原创 2014-06-24 17:47:56 · 714 阅读 · 0 评论 -
装饰模式c++代码实现
装饰模式--动态地为一个对象而不是整个类增加一些功能的问题原创 2014-06-19 14:08:20 · 801 阅读 · 0 评论