• (38)23种设计模式研究之九【迭代器模式和组合模式】


    一、定义

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


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

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

    1. 概述

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

    2. 解决的问题

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

    3. 组合模式中的角色

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

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

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






















  • 相关阅读:
    敏捷冲刺二
    敏捷冲刺一
    软工网络15-Alpha阶段敏捷冲刺
    Scrum 冲刺博客
    软工网络15团队作业3——需求分析与设计
    软工网络15团队作业2——团队计划
    软件网络15团队作业1
    【Alpha阶段】第一次Scrum Meeting
    Scrum 冲刺博客集合
    第 1 篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/wycBlog/p/7452265.html
Copyright © 2020-2023  润新知