第7章迭代器原与组合模式.pptVIP

  • 3
  • 0
  • 约2.95千字
  • 约 30页
  • 2018-12-29 发布于福建
  • 举报
第7章迭代器原与组合模式

第七章 迭代器与组合模式 回顾 模板方法定义了算法的步骤,把这些步骤的实现延迟到子类 模板方法模式为我们提供一种代码复用的重要技巧 模板方法的抽象类可以定义具体方法、抽象方法和Hook Hook是一种方法,它在抽象类中不做事,或者只做默认的事情,子类可以选择要不要去覆盖它。 目标 迭代器允许访问聚合的元素,而不需要暴露它的内部结构 迭代器将遍历集合的工作封装进一个对象中 当使用迭代器的时候,我们依赖聚合提供遍历 迭代器提供一个通用的接口,可以遍历聚合的项,当编码使用聚合的项时,就可以使用多态机制 组合模式提供一个结构,可同时包含个别对象和组合对象 使用组合结构,我们能把相同操作应用在组合和个别对象上。 举例 两家餐厅(一家做早餐的,另一家做午餐的),由于市场竞争,餐厅进行合并,我们来分析会出现什么问题? 问题分析 问题分析 解决问题 迭代器模式 它依赖于一个迭代器接口: 一旦我们有了这个接口,就 可以为各种对象集合实现迭代器 用迭代器改写餐厅菜单-1 用迭代器改写餐厅菜单-2 代码 运行 UML类图 定义迭代器模式 定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 注意: ①迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露其内部的表示; ②把游走的任务放在迭代器上,而不是聚合上。这样简化聚合的接口和实现,也让责任

文档评论(0)

1亿VIP精品文档

相关文档