2009年4月9日星期四

JavaDesign_028:迭代模式 Iterator(摘录+整理)

1. 特点
(1)访问一个聚集中的元素而不必暴露聚集的内部。
(2)将迭代逻辑与聚集本身“解耦

2. 优点
(1)从一种聚集改变成另一种聚集,不需要修改客户端代码。
(2)改变迭代方式很容易,客户端不需要修改代码

3. 缺点
(1)客户端容易误以为迭代是按照顺序进行的。实际情况取决于迭代逻辑,不一定与客户端认为的相一致。
(2)聚集元素没有特征,客户端必须知道是何种类型。
4. 代码架构
(1)抽象迭代子:定义遍历元素的接口。
(2)具体迭代子:实现遍历元素的接口。
(3)抽象聚集类:定义创建迭代子的接口。

(4)具体聚集类:实现迭代子的接口,返回一个迭代子实例。

5. Java中对命令模式的应用
(1)实现Collection接口的类。
6. 典型应用场景
(1)两个警察的购物篮:用不同的方式迭代不同的聚集。

参考文献:
1. 《设计模式》 板桥里人
2. 《Java与模式》 阎宏

没有评论: