迭代器模式原理
迭代器例子:
蛋糕店与餐厅合并,同意管理菜单项目;
问题:
1. 一个餐厅的菜单用ArrayList管理菜单,一个用数组管理。
2.获取菜单信息时,两次循环打印,浪费资源。
3.如果返回菜单数组/list时(对外暴露内部数据),存在安全性问题。
4.合并类必须知道数据结构,扩展性不好,耦合高。
封装遍历,迭代器接口:
只需要I调用接口,不需要知道数据结构(实现解耦)。
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个对象
java内置迭代器:
集合框架内部已实现迭代器;
使用迭代器模式,外部数据与内部数据解耦。
单一责任原则:一个类应该只有一个引起变化的原因