组合模式

1.定义#

将对象组合成树形结构以表示"部分-整体"的层次结构,使得用户对单个对象和组合对象的使用具有一致性。本质为用对象的方法构建一棵树。

2.类图#

组合模式_第1张图片
类图

3.实现#

3.1抽象构件##

public abstract class Component {
    public void doSomething() {
        //公共的业务逻辑
    }
}

3.2树枝构件##

public class Composite extends Component {
    private ArrayList subTree = new ArrayList();

    public void add(Component component) {
        this.subTree.add(component);
    }

    public int remove(Component component) {
        try {
            this.subTree.remove(component);
        } catch (Exception e) {
            return 1;
        }
        return 0;
    }

    public ArrayList getSubTree() {
        return this.subTree;
    }
}

3.3叶子节点##

public class Leaf extends Component {
    /*
    @override
    public void doSomething() {
    }*/
}

你可能感兴趣的:(组合模式)