zoukankan      html  css  js  c++  java
  • (38)23种设计模式研究之九【迭代器模式和组合模式】

    一、定义

    迭代器可以认为是一个指针,可以遍历容器的指针。迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器物件的内容迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
    二、扩展
    迭代器模式让我们能够游走于聚合内的每一个元素,而又不暴露其内部的表示。


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

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。

    1. 概述

      将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

    2. 解决的问题

      当希望忽略单个对象和组合对象的区别,统一使用组合结构中的所有对象(将这种“统一”性封装起来)。

    3. 组合模式中的角色

      3.1 组合部件(Component):它是一个抽象角色,为要组合的对象提供统一的接口。

      3.2 叶子(Leaf):在组合中表示子节点对象,叶子节点不能有子节点。

      3.3 合成部件(Composite):定义有枝节点的行为,用来存储部件,实现在Component接口中的有关操作,如增加(Add)和删除(Remove)。






















  • 相关阅读:
    基于GIS的生态环境信息一张图系统应用与研究
    基于GIS的开源社区(村)网格化数据管理平台
    智慧乡村综合解决方案数字化智能农业
    开源免费乡村振兴数字乡村平台
    Oracle连接字符串记录
    SqlLocalDB使用笔记
    Orchard分类Taxonomies图文教程
    自己手动maven命令将jar包安装到本地。
    Mysql如何去掉数据库中重复记录?
    常见的数据库方面问题
  • 原文地址:https://www.cnblogs.com/wycBlog/p/7452265.html
Copyright © 2011-2022 走看看