迭代器模式
提供一种方法,顺序访问一个聚合对象中的每个元素,而又不暴露里面的内部实现。
优点:
- 有统一的方法访问不同聚合类型中的每个元素,可以编写多态的代码和聚合搭配
- 把在元素之间游走的责任交给迭代器,而不是聚合对象。
单一原则
一个类应该只有一个引起变化 的原因
内聚度量一个类或模块紧密低达到单一目的或责任。只支持一组相关的功能时,高内聚;支持一组不相关的功能时,低内聚。
组合模式
允许将对象组合成树形结构来表现整体/部分层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。
优点:
- 组合内的任意对象都是组件。
- 把相同的操作应用在组件(组合和个别对象)上。可以忽略组件(对象组合和个别对象)之间的差异。
- 一个元素是组合还是叶节点对客户来说是透明的。
缺点: 用单一责任原则换取透明性