迭代器模式:
迭代器模式提供一种方式,可以访问一个聚合对象中的原色而又不暴露其潜在的表示。
迭代器模式让我们遍历聚合元素,而不暴露其潜在实现。
它也把遍历的任务,放在迭代器对象上,而不是聚合上,这样就简化了聚合的接口和实现,让责任放在合适的地方。
迭代器和集合:
Java Collection Framework 是一个类和接口的集合,包括ArrayList,Vectore,LinkedList,Stack,PriorityQueue。这些类中的每一个都实现java.util.Collection接口,这个接口包含一堆有用的方法,用来操纵一组对象。
HashMap是间接支持Iterator的几个类之一。
组合模式:
组合模式允许你将对象组合成树形结构来表现部分-整体层次结构。组合让客户可以统一处理个别对象和对象组合。
组合模式允许我们以树的形式建造对象结构,树的结点包含对象组合和个别对象。
使用组合结构,我们可以对组合和个别对象应用同样的操作。换句话说,在大多数情况下我们可以忽略对象组合和个别对象之间的差别。
单一责任原则:
一个类应该只有一个变化的原因。
类的每个责任都是一个潜在变化的区域。超过一个责任,意味着超过一个变化的区域。
这个原则指导我们要让每个类保持单一原则。
内聚(cohesion)用来度量一个类或模块完成单个目的或者责任时有多紧密。
当一个模块或一个类围绕一组相关功能来设计时,我们说它具有高内聚;反之,当它围绕一组相关不功能来设计时,我们说他具有低内聚。
比起单一责任原则,内聚是更普遍的概念,不过两者关系密切。遵守此原则的类容易有高内聚,比承担多个责任的低内聚的类更有可维护性。
要点:
- 迭代器允许访问聚合的元素,而不暴露其内部结构。
- 迭代器将遍历聚合的工作取出并封装进另一个对象。
- 当使用迭代器时,在支持遍历数据的操作方面,我们减轻了聚合的责任。
- 迭代器提供了一个遍历聚合项的共同接口,当我们编码使用聚合的项时,就可以使用多态。
- Iterable接口让我们能够获取迭代器和使用Java的enchanced for loop。
- 我们应该致力于只为一个类分配一个责任。
- 组合模式允许客户统一地处理组合和个别对象。
- 组合结构内的任意对象称为组件。组件可以是其他组合或者叶子。
- 实现组合模式有许多设计上的折衷。你要根据需要平衡透明和安全。
策略: 封装可以互换的行为,并使用委托来决定使用哪个行为。
适配器: 改变一个或多个类的接口。
迭代器: 提供一种遍历对象集合而不暴露集合的实现的方式。
外观: 简化一群类的接口。
组合: 客户统一对待对象集合和个别对象。
观察者: 允许一群对象在某些状态变化时被通知。

459

被折叠的 条评论
为什么被折叠?



