摘要: 问题:在面向对象的软件设计中,经常会遇到一些聚集对象,按一定的顺序的遍历访问问题,这个遍历算法究竟应该由谁来实现呢,聚集对象本身?这样聚集对象承受了过多的功能,不仅要维护聚集对象内的元素,还要提供遍历自身的接口,而且由于遍历状态保存的问题,不能对同一个容器对象同时进行多个遍历,这不符合单一职责原则。如果将遍历算法交给客户端,会将容器的内部细节暴露无遗,而且客户端与聚集对象高度耦合。分离了集合对象的遍历行为,将遍历算法交给这个迭代器角色来完成,可以很好的避免容器内部细节的暴露,而且也使得设计符合“单一职责原则”,另外迭代器模式抽象了具体迭代器角色,可以通过对一个抽象迭代器多个集成可来完成同一聚集 阅读全文
posted @ 2012-08-15 08:48 创生 阅读(175) 评论(0) 推荐(0) 编辑