案例

编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系
组成,一个学校有多个学院,一个学院有多个系

迭代器模式

如果我们的集合元素是使用不同的方式实现的,有数据,java集合类等,当客户端要遍历这些集合元素的时候需要使用多种遍历方式,而且会暴露元素内部结构,可以考虑使用迭代器模式

迭代器模式:提供一种遍历集合元素的统一接口,用一直的方法遍历集合元素,不需要知道集合对象的地城表示

image.png

Iterator :迭代器接口,体统提供.含有 hasNext ,next,remove
ConcreateIterator 具体的迭代器类,管理迭代
Aggregate 一个统一的聚合接口,将客户端和具体聚合解耦
ConcreateAggreage 具体的聚合,持有对象集合,并提供一个方法,返回一个迭代器。
Client 客户端

image.png