05 2015 档案
摘要:2015/5/25 访问者模式(Visitor) 访问者模式是编者自学习设计模式以来最难的一个模式。 定义:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。#include using namespace st...
阅读全文
摘要:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。优点:替代了继承,降低了耦合性#include using namespace std;/*我们来陪电脑*/class Base{ prot...
阅读全文
摘要:2015/5/18 职责链模式(Chain of Responsibility): 避免发送者和接受者之间的耦合关系,将对象练成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 优点:发送者不用考虑众多接受者之间的数据流,简化了对象的相互链接(仅保持指向后继...
阅读全文
摘要:模版方法模式(TemplateMethod) 当我们要完成某一细节或者层次一致但是其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模版方法模式来处理。 —————《大话设计模式》 代码如下#include using namespace std;/* 模版方...
阅读全文
摘要:今天我在玩一款逃离大厦的解密游戏。在跨越了重重障碍来到了第八十关。这一关很有意思 每次点击都会直接冲到底,要求填满所有空白的地方。 本来很容易,但是很不幸,一旦点击了就不能修改,楼主于是想到了马踏棋盘,终于可以学以致用了于是毫不犹豫 上代码#include #inc...
阅读全文
摘要:2015/4/28 组合模式(Composite): 将所有对象组织在一个树状结构之下,用来实现对象间部分—整体之间的关系,使得用户对单个对象和组合对象的使用具有一致性。#include #include #include using namespace std;cl...
阅读全文
摘要:2015/4/28 外观/门面模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。#include #include using namespace std; class Base{ pub...
阅读全文
摘要:2015/4/28 装饰模式(Decorator),动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。—大话设计模式#include #include using namespace std;/*基类*/class Component{ ...
阅读全文
摘要:目的:将抽象与实现相分离。 定义:将抽象部分与它的实现部分分离,使他们都可以独立地变化。 (抽象与实现分离是指让每种实现的变化不会影响到其他实现,从而打到应对变化的目的) 代码如下:#include #include #include using namespace ...
阅读全文
摘要:#include #include #include using namespace std;class Base{ public: virtual void process(){ }};class Adaptee{ public...
阅读全文
摘要:概念:代理本身不具有功能,为其他对象提供一种代理以控制对这个对象的访问 概括:代理模式就是在访问对象的时候引入了一些间接性,因为这些间接性,可以附加多种用途。 C++代码实现:#include using namespace std;class Base{ pu...
阅读全文
摘要:二分查找 二分法查找 1 #include 2 #include 3 #define N 100 4 int compare(int middle,int key) 5 { 6 if(0 > middle -key){ 7 retu...
阅读全文