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

  • 25
  • 0
  • 约3.02千字
  • 约 30页
  • 2017-05-15 发布于湖北
  • 举报
设计模式 设计模式 第七章 迭代器与组合模式 * 回顾 模板方法定义了算法的步骤,把这些步骤的实现延迟到子类 模板方法模式为我们提供一种代码复用的重要技巧 模板方法的抽象类可以定义具体方法、抽象方法和Hook Hook是一种方法,它在抽象类中不做事,或者只做默认的事情,子类可以选择要不要去覆盖它。 * 目标 迭代器允许访问聚合的元素,而不需要暴露它的内部结构 迭代器将遍历集合的工作封装进一个对象中 当使用迭代器的时候,我们依赖聚合提供遍历 迭代器提供一个通用的接口,可以遍历聚合的项,当编码使用聚合的项时,就可以使用多态机制 组合模式提供一个结构,可同时包含个别对象和组合对象 使用组合结构,我们能把相同操作应用在组合和个别对象上。 * 举例 两家餐厅(一家做早餐的,另一家做午餐的),由于市场竞争,餐厅进行合并,我们来分析会出现什么问题? ①每家餐厅都有菜单项: ②每家餐厅菜单项存储方式不同 * 问题分析 合并前,两家餐厅的 菜单项存储格式不一样 * 问题分析 ③合并后的新餐厅能够遍历菜单每一项,可以打印出所有素食菜单项 我们必须实现两个不同的循环,分别 处理这两个不同的菜单 如果还有第三家餐厅 合并进来,需要三 个循环…… * 解决问题 现在我们创建一个迭代器对象(Iterator),利用 它来封装”便历集合内的每个对象的过程”。 Iterator iterator=breakf

文档评论(0)

1亿VIP精品文档

相关文档