GoF设计模式简介目的/范围创建型模式结构性模式行为型模式类模式工厂方法模式(类)适配器模式解释器模式模板方法模式对象模式抽象工厂模式建造者模式原型模式单例模式(对象)适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式职责链模式命令模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式...
分类:
其他好文 时间:
2014-11-20 09:04:34
阅读次数:
218
1、模式定义
迭代器模式(Iterator Pattern) :提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。
2、模式结构
迭代器模式包含如下角色:
Iterator: 抽象迭代器
ConcreteIterator: 具体迭代器
Aggregate: 抽象聚合类
ConcreteAggregate: 具体聚合...
分类:
其他好文 时间:
2014-11-19 11:27:51
阅读次数:
154
1、模式定义
迭代器模式(Iterator Pattern) :提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。
2、模式结构
迭代器模式包含如下角色:
Iterator: 抽象迭代器
ConcreteIterator: 具体迭代器
Aggregate: 抽象聚合类
ConcreteAggregate: 具体聚合...
分类:
其他好文 时间:
2014-11-19 01:28:50
阅读次数:
164
委托与很多设计模式都有着千丝万缕的联系,在前面的随笔中已经介绍了委托与策略模式的联系,本节主要来讨论委托与其他两个模式:观察者模式和模板方法模式。委托与观察者模式在.NET中,很多设计模式得到了广泛应用,如foreach关键字实现了迭代器模式。同样的,.NET中也内置了观察者模式的实现方式,这种方式...
分类:
其他好文 时间:
2014-11-14 12:10:23
阅读次数:
203
前言
在平常生活当中,我们经常要使用到迭代器,例如在观看一组图片时,我们经常使用遍历的方法观看,我们并不需要具体研究图片的结构,只需要遍历,并且可以将当前的遍历状态记录下来,下次观看时可以从之前的遍历终止点开始继续。
即在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是最重要的是有两点是需要我们去关心的:一是集合内部的数据存储...
分类:
其他好文 时间:
2014-11-10 12:10:04
阅读次数:
171
迭代器模式
GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。
为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口。
例:
#include
#include
using namespace std;
template
class Iterator
{
public:
virtual void first...
分类:
其他好文 时间:
2014-11-06 22:05:59
阅读次数:
201
创建型: 2 个 (工厂模式, 单例模式)结构型: 6 个 (适配器模式, 组合模式, 装饰者模式, 代理模式, 外观模式, 桥梁模式)行为型: 8 个 (中介者模式, 策略模式, 模板模式, 观察者模式, 迭代器模式, 责任链模式, 命令模式, 状态模式)1. 工厂模式提供一个创建类的统一接口.目...
分类:
其他好文 时间:
2014-11-06 16:40:34
阅读次数:
244
容器的主要职责有两个:存放元素和浏览元素。根据单一职责原则(SRP)要将二者分开,于是将浏览功能打包封装就有了迭代器。用迭代器封装对动态数组的遍历:12{《HeadFirst设计模式》之迭代器模式}3{容器中的元素类}4{编译工具:Delphi7.0}5{E-Mail:guzh-0417@163.....
aggregate = $aggregate; $this->aggregateCount = $this->aggregate->getCounts(); } public function first(){ $this->index = 0; } public function ne...
分类:
Web程序 时间:
2014-11-04 17:21:12
阅读次数:
173
不说模式的问题,看一个>里面的例子。
老板要看到公司了各个项目的情况。(我知道我这个概述很让人头大,看代码吧)
示例程序
v1
package Iterator;
/**
* @author cbf4Life cbf4life@126.com
* 定义一个接口,所有的项目都是一个接口
*/
public interface IProject {
//从老板这里看到...
分类:
编程语言 时间:
2014-10-23 19:23:18
阅读次数:
261