微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

web组合模式有哪些特征

本篇内容主要讲解“web组合模式有哪些特征”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web组合模式有哪些特征”吧!

意图

使用组合的方式管理下级要素,在实现一个树形数据结构的同时为各级节点提供相同的接口,使用者可以以相同的观点看待树上的每个节点。

动机

现实世界中存在很多的树形结构,先看两个例子。首先是公司组织结构图:

web组合模式有哪些特征

通过观察可以发现,这两个例子中的树形结构具有以下的特征:

  1. 树上存在包含其他节点的父节点,也存在不包含其他节点的页子节点。

  2. 父节点和下级节点可以看作是整体和部分的关系

  3. 下级节点也有可能是其他节点的父节点。

  4. 这种包含关系可能会有很多层。

  5. 通常会存在一些共通操作,需要从父节点扩散到子节点。

最后一点图中没有体现,这里进行补充说明。所谓的共通操作,对于公司组织图来说,可以是发布通知,收集绩效数据,考评等;对于计算机来说可以是开关电源等。当然,实际需要哪种操作时根据需求决定的,但是一般的情况下都可以很容易地找出共通操作。

对于上面的树状结构建模时,一般的方法就是为每种要素设计一个类,但是这样一来有一个问题:包含其他要素的父节点类都有两个共通功能一个是需要管理子节点,一个是要扩散操作。于是对类图进行优化,得到下面的类图。

在这个类图中PartsGroup承担了管理子节点和扩散共通操作的职责。它可以管理任何的Parts类,也包含另外的PartsGroup对象。这种组合关系可以根据需求多次重复。

这样一来,利用者就不必关心具体的节点类型,是否包含下级节点,有多少层下级节点,只管对眼前的节点调用其操作就好了。

到此,相信大家对“web组合模式有哪些特征”有了更深的了解,不妨来实际操作一番吧!这里是编程之家网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐