1、组合模式
简要说明
将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
速记关键字
树形目录结构
类图如下
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a35afff0264f24443d0a3066aa2362f5.png)
由类图其实可以看出,组合模式就是将具有父子关系的结构,组装形成一棵树,并且根据规范,树干节点和叶子节点均需要实现统一接口或者继承同一个抽象类。只是各自实现树干和叶子节点的特有功能。下面我们以菜单目录和菜单为例,使用组合模式组装菜单。
Java代码实现
@Data
public abstract class AbstractMenu{
protected