迭代器模式原理
两个菜馆合并后菜单问题

传统设计
耦合度高,waitress需要知道什么类型的餐厅的菜单
- 菜单项类

- 中餐厅类


- 西餐厅类

- 服务员waitress类

迭代器原理和设计
waitress针对接口开发


代码
1.iterator类
2.dinerMenu 中餐厅类
换成getIterator方法

3.CakeHouseMenu 西餐厅类
更换为Iterator方法

4.waitress类
5.测试主类
java内置迭代器
java内置迭代器设计
类图
数组没有内置迭代器
list有内置迭代器
再添加一个咖啡馆hashtable
单一责任原则
减少耦合性
关键点
传统设计,耦合度高
多用组合,使用迭代器组合
java内置迭代器,数组没有,ArrayList、hashtable有内置迭代器(代码少)
单一责任原则:每一个类只负责一个变化
