- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
菜单项 Lou的菜单 Mel的菜单 如何使用菜单呢? 打印每份菜单上的所有项 用循环将数组内的项一一列出来 采用类似的手段实现其他方法 应该封装变化的部分,这里可以封装吗? 需要使用ArrayList的size()和get()方法 需要用到数组的length和[ ] 现在,创建一个迭代器对象 用在数组上,如何呢? 迭代器接口 有了接口,就可以为各种集合实现迭代器 先定义迭代器接口 实现具体的迭代器 改写菜单 将迭代器代码整合进女招待类中 测试 RUN 现在的设计 进行一些改进 看看java.util.Iterator 使用java.util.Iterator 处理DinerMenuIterator 将迭代器放入Menu接口 处理Waitress 现在的设计,怎么样呢? 迭代器模式:提供一种顺序访问集合对象中各个元素的方法,而又不暴露其内部的表示(也就是数据结构)。 类图 设计原则九: 一个类应该只有一个引起变化的原因。 类的每个责任都有一个潜在的改变区域,多一个责任就意味着多一个改变的区域。要尽量让每个类保持单一责任。 既要让每个类都保持单一的责任,也要保证一个责任只指派给一个类。 内聚(Cohesion)用来度量一个类或模块紧密地达到单一目的或责任的程度。 现在呢? 这里是咖啡厅的菜单 将咖啡厅的菜单整合到我们的框架中 让女招待认识菜单 测试 RUN 我们做了什么? 女招待不在需要指定具体实现 更易于扩展 还有更多的集合类 java.util.Collection接口 Java 5增加了对遍历的支持 例如 现在的printMenu() 现在的Waitress 现在,出现了“子菜单” 菜单样式如下: 该怎么做呢? 树形结构能很好地表现现在的情况 仍然能够遍历,且更具柔性 组合模式:将对象组合成树状结构来表现“整体/部分”的层级结构,让客户以一致的方式来处理个别对象以及对象组合。 树形结构 在树状结构中,带有子元素的元素成为节点(Node);没有子元素的元素成为叶节点(Leaf)。 表达菜单和菜单项 可以创建任意复杂的树 可以将它视为一个整体 操作可以针对整体或部分 实现MenuComponent 实现MenuItem 实现Menu 实现Menu(续) 修正print()方法 准备测试 菜单组合 RUN 要实现组合迭代器,从这里入手 组合迭代器遍历组件内的所有菜单 如何实现菜单项的createIterator()方法呢? 第二个选择更好,称为空迭代器 实现空迭代器 实现素食菜单 (三) 这安全吗? (三) 这安全吗? 四、定义组合模式 定义 类图 (一) (二) (一) 定义 (一) 定义 (一) 定义 (一) 定义 (一) 定义 (一) 定义 (二) 类图 五、组合菜单 利用组合设计菜单 实现组合菜单 (一) (二) (一) 利用组合设计菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 (二) 实现组合菜单 六、组合迭代器 组合迭代器 空迭代器 (一) (二) 测试 (三) (一) 组合迭代器 (一) 组合迭代器 (一) 组合迭代器 (一) 组合迭代器 (二) 空迭代器 (二) 空迭代器 (三) 测试 (三) 在餐厅菜单中加入一个迭代器 (三) 在餐厅菜单中加入一个迭代器 (三) 在餐厅菜单中加入一个迭代器 (三) 在餐厅菜单中加入一个迭代器 (三) 在餐厅菜单中加入一个迭代器 (三) 在餐厅菜单中加入一个迭代器 (四) 定义迭代器模式 (四) 定义迭代器模式 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 (五) 单一责任 三、迭代器和集合 迭代器和集合 (一) Java 5 的迭代器和集合 (二) 这安全吗? (三) (一) 迭代器和集合 (一) 迭代器和集合 (二) Java 5 的迭代器和集合 (二) Java 5 的迭代器和集合 (二) Java 5 的迭代器和集合 (二) Java 5 的迭代器和集合 (二) Java 5 的迭代器和集合 (三) 这安全吗? (三) 这安全吗? (三) 这安全吗? * 软件设计方法及设计模式 张聚礼 副教授/系统分析师 迭代器模式和组合模式 9 一 二 三 四 五 六 比较菜单的实现 迭代器模式 迭代器和集合 定义组合模式 组合菜单 组合迭代器 主要内容 一、比较菜单的实现 对象村餐厅和对
您可能关注的文档
最近下载
- 基于abaqus的钢筋混凝土结构损伤塑性模型.docx VIP
- 医学课件-皮肤软组织感染.pptx VIP
- 2024年江苏赛区复赛“扬子石化杯”第38届中国化学奥林匹克(初赛)选拔赛暨化学试题含答案.pdf VIP
- 食材分拣、包装、运输、验收、售后整体配送服务方案.docx VIP
- 《华为数字化转型之道》实践经验分享试题附答案.doc
- 2025年辽宁省政府采购评审专家考试测试题及答案.docx VIP
- GB50054-2011低压配电设计规范.docx VIP
- 油漆来料检验报告.docx VIP
- GB 50054-2011 低压配电设计规范.docx VIP
- 人教版劳动教育六年级上册全册教案教学设计.pdf VIP
文档评论(0)