帝江VII的博客

阳光明媚

排序:
默认
按更新时间
按访问量

设计模式_模板方法模式

模板模式 (1)模板模式(Template Pattern):定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法...

2017-08-27 17:46:18

阅读数:161

评论数:0

设计模式_策略模式

策略模式 (1) 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 (2)主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 (3)UML图:

2017-08-27 15:01:32

阅读数:145

评论数:0

设计模式_状态模式

状态模式 (1)在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改...

2017-08-12 16:05:38

阅读数:163

评论数:0

设计模式 _备忘录模式

备忘录模式 备忘录模式(Memento Pattern)在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。 使用情景:很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操...

2017-08-05 16:59:29

阅读数:178

评论数:0

设计模式_责任链模式

责任链模式 顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象...

2017-05-31 19:33:53

阅读数:211

评论数:0

设计模式_命令模式

命令模式:   将一个请求封装为一个对象(即我们创建的Command对象),从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。  解决的问题:   在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重...

2017-05-23 19:46:59

阅读数:229

评论数:0

设计模式_观察者模式

观察者模式 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 类图: 可执行代码: #ifnd...

2017-05-23 19:30:28

阅读数:218

评论数:0

设计模式_享元模式

享元模式 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 比如所有的五子棋房间的棋子都...

2017-05-09 19:46:30

阅读数:118

评论数:0

设计模式_组合模式

组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 应用情景: 1、您想表示对象的部分-整体层次结构(树形...

2017-05-04 18:44:20

阅读数:162

评论数:0

设计模式_桥接模式

桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 使用场景: ...

2017-05-03 18:57:57

阅读数:133

评论数:0

设计模式_装饰者模式

装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰模式提供了更加灵活的向对象添加职责的方式。可以用添加和分离的方法,用装饰在运行时刻增加和删除职责。装饰模式提供了...

2017-04-20 19:51:21

阅读数:109

评论数:0

设计模式_代理模式

代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 #ifndef _PROXY_H_ #define _PROXY_H_ #include class XIm...

2017-04-18 19:52:04

阅读数:105

评论数:0

设计模式_外观模式

外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 #ifndef _FACADE_H_ #define _FACADE_H_ #include ...

2017-04-18 19:05:41

阅读数:320

评论数:0

设计模式_适配器模式

#ifndef _ADAPTE_H_ #define _ATAPTE_H_ #include //现在的接口 class target { public:     virtual void request() = 0; }; class conTarget: public target { ...

2017-04-17 19:50:57

阅读数:132

评论数:0

设计模式_单例模式

单例模式就是保证一个类仅有一个实例,并提供一个访问它的全局访问点 #include class singleObject { public: static singleObject* getInstance(); inline void show(){ std::cout <...

2016-08-22 23:16:29

阅读数:199

评论数:0

设计模式__工厂模式

您需要一辆什么类型汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以及这个汽车里面的具体实现。 #include using namespace std; class Shap { public:     virtual void draw()=0; }; class R...

2016-08-19 17:15:01

阅读数:252

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭