设计模式
LevinLin
本博客现只用于学习用,可能会转载他人的知识,若有涉及到您的版权问题,请与我联系。
> 飛雪迎春到﹐風雨送春歸
> 已是寒崖百丈冰﹐尤有花枝俏
> 俏也不爭春﹐只把春來報
> 待得山花爛漫時﹐他在叢中笑
展开
-
5.7 观察者模式observer(行为模式)
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。可以举个博客订阅的例子,当博主发表新文章的时候,即博主状态发生了改变,那些订阅的读者就会收到通知,然后进行相应的动作,比如去看文章,或者收藏起来。博主与读者之间存在种一对多的依赖关系。下面转载 2012-10-29 16:09:51 · 634 阅读 · 0 评论 -
5.11 访问者模式 visitor
1.意图: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 2.结构图 3.源码 //Element.h #ifndef _ELEMENT_H_ #define _ELEMENT_H_ class Visitor; class Element { public: virtual ~Element()原创 2012-10-27 15:55:40 · 578 阅读 · 0 评论 -
工厂模式 抽象工厂模式 (创建模式)
工厂模式属于创建型模式,大致可以分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。听上去差不多,都是工厂模式。下面一个个介绍,首先介绍简单工厂模式,它的主要特点是需要在工厂类中做判断,从而创造相应的产品。当增加新的产品时,就需要修改工厂类。有点抽象,举个例子就明白了。有一家生产处理器核的厂家,它只有一个工厂,能够生产两种型号的处理器核。客户需要什么样的处理器核,一定要显示地告诉生产工厂。下面给出转载 2012-10-29 17:09:32 · 560 阅读 · 0 评论 -
建造者模式Builder(创建模式)
建造者模式(Builder)(又叫生成器模式),将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式(Builder)结构图 1 Builder是为创建一个Product对象的各个部件指定的抽象接口; 2 ConcreteBuilder是具体的建造者,实现Builder接口,构造和装配各个部件; 3 Product是具体的产品; 4 Direc转载 2012-10-29 19:22:12 · 713 阅读 · 0 评论 -
5.4 迭代器模式 Iterator (行为模式)
1. Iterator 迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示,又称游标(Cursor)。该模式的应用应该十分熟悉了,C++ 标准库 STL 中不同的容器都提供了相同的迭代器接口。这一模式的关键思想是将对列表的访问和遍历从列表对象中分离出来并放入一个迭代器(iterator)对象中。迭代器类定义了一个访问列表元素的接口,迭代器对象负责跟踪当前的元素原创 2012-10-27 16:48:43 · 718 阅读 · 0 评论