Android 设计模式入门到精通之十六:迭代器模式(Iterator Pattern)

迭代器模式(Iterator Pattern)

1. 概念

Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。

2. 应用场景 --自行实现可遍历容器时,需要implements Iterator

对象容器的遍历场景。

3. 优点

a. 让客户遍历你的对象,而又无法窥视你存储对象的方式;

b. Iterator封装“遍历集合内每个对象的过程”;--将遍历的任务放在迭代器上,而不是集合上;简化了集合的接口和实现,也让责任各得其所(单一职责原则 > 高内聚)

c. 每种ConcreteAggregate集合的内部实现可能不同,但遍历方法都统一起来了,方便客户端代码。--客户端代码与集合实现类解耦。

4. 注意事项

尽量不要自己写迭代器模式。使用Java提供的Iterator一般就足够了。

5. 代码实践:

JDK: 

• java.util.Iterator

• java.util.Enumeration

Android: 迭代器使用规则:

• 自行实现可遍历容器时,建议只implements Iterator(实现Collection则代码逻辑较复杂)

• 使用Java内置容器时,建议针对Collection接口编程

你可能感兴趣的:(Android 设计模式入门到精通之十六:迭代器模式(Iterator Pattern))