迭代器模式:

  提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。

设计原则:

  单一责任:一个类应该只有一个引起变化的原因

组合模式:

  允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。

要点:

  1、迭代器允许访问聚合的元素,而不需要暴露它的内部结构

  2、迭代器将遍历聚合的工作封装进一个对象中

  3、当使用迭代器的时候,我们依赖聚合提供遍历

  4、迭代器提供了一个通用的接口,让我们遍历聚合的项,当我们编码使用聚合的项时,就可以使用多态机制

  5、我们应该努力让一个类只分配一个责任

  6、组合模式提供一个结构,可同时包容个别对象和组合对象

  7、组合模式允许客户对个别对象和组合对象一视同仁

  8、组合结构内的任意对象成为组件,组件可以是组合,也可以是叶节点

  9、在实现组合模式时,有许多设计上的折衷,你要根据需要平衡透明性和安全性

最新文章

  1. PostgreSQL-psql
  2. 关于rails里集成测试assert_template的写法
  3. javascript的几个小技巧
  4. PowerDesigner中列表显示TABLE的NAME而不是CODE
  5. android定义启动唯一apk
  6. C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)
  7. 使用XML序列化器生成XML文件和利用pull解析XML文件
  8. Careercup - Facebook面试题 - 6204973461274624
  9. express中ejs模板引擎
  10. Mysql engine
  11. C#类方法声明where的用法
  12. 用Markdown优雅的渲染我们的网页
  13. createNewFile创建空文件夹与createTempFile创建临时文件夹
  14. iOS高效开源类库
  15. cordova环境搭建
  16. React核心内容归纳总结
  17. PE文件详解(八)
  18. 《java入门第一季》之Integer类和自动拆装箱概述
  19. 手写事件代理函数 (Delegated function)
  20. 解决SVN一直弹出登录问题,eclipse.tmatesoft.com

热门文章

  1. Cocoa-Cocoa对象
  2. Linux 指令的快捷键
  3. 牛客网Wannafly模拟赛
  4. [luoguP3960] 列队(动态开点线段树)
  5. [BZOJ1594] [Usaco2008 Jan]猜数游戏(二分 + 并查集)
  6. selenium 与 firefox版本不兼容报错
  7. uva 11178二维几何(点与直线、点积叉积)
  8. 还是Tomcat,关于类加载器的趣味实验
  9. 533. Lonely Pixel II
  10. hdu4612 无向图中任意添加一条边后使桥的数量最少 / 无向图缩点+求树的直径