设计模式——迭代器模式

定义

迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素(元素不一定有序),而不是暴露其内部的表示。

迭代器模式让我们能游走在聚合内的每个元素,而不暴露其内部表示。把游走的任务放在迭代器对象上,而不是聚合对象上,简化了聚合对象的接口和实现,符合单一责任原则,让责任各得其所。

类图

163434_IetQ_913941.jpg

java.util.Iterator接口

java.util.Enumeration接口是一个有序迭代器实现,可以使用适配器模式让Enumeration和Iterator互相转换。

ListIterator接口比我们常见迭代器接口多了一个previous方法。

java5中for/in语句:

java5中所有的集合和数组都可以使用for/in语句来遍历(利用泛型保证类型安全),不需要请求迭代器。

for(Object obj : collection){
    ……
}

设计原则:

1.单一职责,一个类应该只有一个引起变化的原因。因为类的每个责任都有改变的可能性,超过一个责任意味着超过一个改变的潜在区域。尽量让每个类保持单一责任。

2.内聚,度量一个类或模块紧密地达到单一目的或责任。当一个模块或一个类被设计成只支持一组相关的功能,则它具有高内聚;反之,当被设计成支持一组不相关的功能时,则它具有低内聚。


转载于:https://my.oschina.net/OQKuDOtsbYT2/blog/201251

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值