23种设计模式-组合模式

合模式使得用户对单个对象和组合对象的使用具有一致性

类似于传销发展下线??

代码例子:

public class Composite  {
    private List components = new ArrayList<>();

    private String name;

    public Composite(String name) {
        super(name);
    }

    @Override
    public void operation() {
        System.out.println("组合节点"+name+"的操作");
        //调用所有子节点的操作
        for (Component component : components) {
             component.operation();
        }
    }

    @Override
    public void add(Component c) {
        components.add(c);
    }

    @Override
    public void remove(Component c) {
        components.remove(c);
    }

    @Override
    public Component getChild(int i) {
        return components.get(i);
    }

    @Override
    public List getChildren() {
        return components;
    }
}

 

你可能感兴趣的:(设计模式)