- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 中介者模式的c++代码实现
中介者模式--用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而降低耦合;而且可以独立地改变它们之间的交互。
2014-06-26 16:47:46 595
原创 备忘录模式的c++代码实现
备忘录模式--在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
2014-06-26 14:51:35 800
原创 观察者模式的c++代码实现
观察者模式--观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
2014-06-26 10:21:03 919
原创 状态模式的c++代码实现
状态模式--当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可考虑用到状态模式。// state.cpp : 定义控制台应用程序的入口点。#includeusing namespace std;class Work;class State{public: virtual void work(Work &w)//上面的前置声明,这里才可
2014-06-25 17:40:44 506
原创 策略模式c++代码实现
策略模式--策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。// strategy.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;class Strategy{ public: virtual void f() {
2014-06-24 17:47:56 723
原创 模板模式c++代码实现
模板--定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
2014-06-24 15:17:19 556
原创 代理模式c++代码的实现
代理模式--代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 // proxy.cpp : 定义控制台应用程序的入口点。//#includeusing namespace std;class Subject{public: virtual void request() { cout << "Subject::re
2014-06-24 14:46:18 719
原创 享元模式c++代码实现
// flyweight.cpp : 定义控制台应用程序的入口点。//#include #include #include using namespace std;class Flyweight{public: //map会使用空构造 Flyweight() { } Flyweight(string intrinsicState
2014-06-23 16:20:51 569
原创 内存管理伙伴算法 模拟程序
#include #includeusing namespace std;#include#include#include#includestruct Block{ int start; int end; Block() { start=0; end =0; } int operator { return this->
2014-06-13 15:30:26 1436
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人