组合模式也称为部分整体模式,它的作用是将一组相似的对象看作一个对象处理,然后提供同一的方法去访问相应对象,这样可以很容易地得到一个树形结构,操作系统中的文件就可以抽象成一个经典的组合模式,如下:
抽象根节点:抽象文件类
1 | public abstract class Dir { |
具体枝干节点:文件夹类
1 | public class Folder extends Dir { |
具体叶子节点:文件类
1 | public class File extends Dir { |
具体使用如下:
1 | public class Main { |
结果
组合文件十分适合数据对象之间存在着递归关系的情景