本篇内容主要讲解“web组合模式有哪些特征”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web组合模式有哪些特征”吧!
意图
使用组合的方式管理下级要素,在实现一个树形数据结构的同时为各级节点提供相同的接口,使用者可以以相同的观点看待树上的每个节点。
动机
现实世界中存在很多的树形结构,先看两个例子。首先是公司组织结构图:
通过观察可以发现,这两个例子中的树形结构具有以下的特征:
树上存在包含其他节点的父节点,也存在不包含其他节点的页子节点。
父节点和下级节点可以看作是整体和部分的关系
下级节点也有可能是其他节点的父节点。
这种包含关系可能会有很多层。
通常会存在一些共通操作,需要从父节点扩散到子节点。
最后一点图中没有体现,这里进行补充说明。所谓的共通操作,对于公司组织图来说,可以是发布通知,收集绩效数据,考评等;对于计算机来说可以是开关电源等。当然,实际需要哪种操作时根据需求决定的,但是一般的情况下都可以很容易地找出共通操作。
对于上面的树状结构建模时,一般的方法就是为每种要素设计一个类,但是这样一来有一个问题:包含其他要素的父节点类都有两个共通功能:一个是需要管理子节点,一个是要扩散操作。于是对类图进行优化,得到下面的类图。
在这个类图中PartsGroup承担了管理子节点和扩散共通操作的职责。它可以管理任何的Parts类,也包含另外的PartsGroup对象。这种组合关系可以根据需求多次重复。
这样一来,利用者就不必关心具体的节点类型,是否包含下级节点,有多少层下级节点,只管对眼前的节点调用其操作就好了。
到此,相信大家对“web组合模式有哪些特征”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。