组合模式
主要是用来处理树形结构数据
数据必须能表示成树形结构,这种模式在实际的项目开发中并不那么常用。但是,一旦数据满足树形结构,应用这种模式就能发挥很大的作用,能让代码变得非常简洁。
组合模式,将一组对象组织成树形结构,将单个对象和组合对象都看做树中的节点,以统一处理逻辑,并且它利用树形结构的特点,递归地处理每个子树,依次简化代码实现。
使用场景
- 经典案例:文件系统结构文件夹-文件。文件夹包含文件,文件夹包含文件夹这种模型。
- 能够完美使用该模式的场景有很多,只要能够形成属性结构的数据均可使用该模式。常见的有员工-部门,权限系统中的员工和部门数据结构可以完美的使用该模式,部门下面有部门,部门下面可以有员工。可以形成树形结构。如果我们针对其中的某一块进行一些计算的时候就可以递归的计算其结果。并且部门数据和员工数据的改变相对较小,我们可以引入缓存来存储这些数据,如果数据变更时我们重构该结构就可以了。