设计模式的分类
我们都知道有 23 种设计模式,这 23 种设计模式可分为如下三类:
- 创建型模式(5 种):单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。
- 结构型模式(7 种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
- 行为型模式(11 种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
设计模式系列文章传送门
什么是迭代器模式
迭代器模式是一种行为设计模式,它提供了统一方法来访问聚合对象(如数组、列表、树等复杂的数据结构)中的各个元素,而又不暴露该对象的内部表示,简单来说,就像是给数据结构配备了一个 “导游”,这个 “导游” 可以按照一定的规则(如顺序、逆序等)带领你访问数据结构中的每一个元素。
迭代器模式的组成
- 抽象迭代器:定义了访问和遍历元素的方法,包括 hasNext()方法(用于判断是否还有下一个元素)和 next()方法(用于获取下一个元素)。
- 具体迭代器:实现抽象迭代器接口,并重写其方法,完成具体的遍历逻辑,它要维护一个指向聚合对象当前元素的游标,并且根据迭代器接口定义的方法来实现元素的遍历。
- 抽象聚合器:一般是一个接口,定义了创建迭代器的方法
- 具体聚合器:实现抽象聚合器器接口,它包含了实际存储元素的数据结构,并且创建了具体的迭代器。
迭代器设计模式案例演示
我们以公司员工来做为演示场景,公司年会的时候需要当众表扬优秀员工,会在大屏幕上播放优秀员工信息,我们使用迭代器设计模式来实现,优秀员工名单就是一个集合,每个优秀员工就是集合中的元素。
Staff(员工类)
Staff 类定义了员工基本属性,代码如下:
public class Staff {
//姓名
private Strin