C++ 设计模式(行为)
sukhoi27smk
学习是为了探索这个世界的本质
展开
-
C++设计模式之四 模板模式
《TemplateMethod1.h》#include #include using namespace std;class A{public: A(){}; virtual ~A(){}; void Method();protected: virtual void b() = 0; virtual void c()转载 2012-12-11 17:17:51 · 592 阅读 · 0 评论 -
设计模式C++实现 —— 策略模式
策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异。用策略模式来封装算法,效果比较好。下面以高速缓存(Cache)的替换算法为例,实现策略模式。 什么是Cache的替换算法呢?简单解释一下, 当发生Cache缺失时,Cache控制器必须选择C转载 2012-12-12 14:13:43 · 728 阅读 · 1 评论 -
设计模式C++实现 ——观察者模式
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。可以举个博客订阅的例子,当博主发表新文章的时候,即博主状态发生了改变,那些订阅的读者就会收到通知,然后进行相应的动作,比如去看文章,或者收藏起来。博主与读者之间存在种一对多的依赖关系。下面转载 2012-12-13 17:29:43 · 582 阅读 · 0 评论 -
设计模式——Iterator模式实现研究
导读:软件设计模式是一种表达、记录和重用软件设计结构和设计经验的新方法,它对反复出现的设计结构的关键特征进行识别、抽象和命名,使重用成功设计和结构更加容易。本文介绍了软件设计模式的特点、描述方式以及在设计中使用模式带来的好处,并就迭代器(Iterator)模式在Java集合框架类(JavaCollectionFramework)中的典型实现为例,说明此模式的实现方法以及利用此模式带来的软件扩充转载 2012-12-14 14:34:30 · 666 阅读 · 0 评论 -
Iterator模式
Iterator模式的几种用法在网络上看帖子时发现不少模式的初学者对Iterator模式的理解仅仅停留在从类库的容器类取得Iterator来遍历容器中的内容的程度。因此在这里写几个例子,来加深大家对Iterator模式的理解。对容器中元素的访问涉及到3个方面。1.容器的类型2.检索容器内元素的方法3.对元素的操作比如说我们有一个表示书店的book_store类。里面转载 2012-12-14 14:34:59 · 509 阅读 · 0 评论 -
设计模式C++实现 ——状态模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍状态模式的实现。 状态模式:允许转载 2012-12-18 17:29:33 · 586 阅读 · 0 评论