设计模式之 组合模式

组合模式又叫部分整体模式(个人觉得叫部分整体模式更直观)。是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。

文字说的啥我也没懂,看示例代码吧,代码比较容易懂:

image

(1)定义TreeNode

public class TreeNode{
    private String name;
    private TreeNode parent;
    private Vector<TreeNode> children = new Vector<>();
    
    public void TreeNode(String name){
        this.name = name;
    }
    
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    
    public TreeNode getParent(){
        return parent;
    }
    public void setParent(TreeNode parent){
        this.parent = parent;
    }
    
    //添加子节点
    public void add(TreeNode node){
        children.add(node);
    }
    //删除子节点
    public void remove(TreeNode node){
        children.remove(node);
    }
    // 获取子节点
    public Enumeration<TreeNode> getChildren(){
        return children.elements();
    }
}

(2)使用

public static void main(String[] args){
    TreeNode nodeA = new TreeNode("A");
    TreeNode nodeB = new TreeNode("B");
    TreeNode nodeC = new TreeNode("C");
    nodeA.add(nodeB);
    nodeA.add(nodeC);
    
    logger.info(JSON.toJSONString(nodeA));
}

nodeB和nodeC为nodeA的子节点


原文地址:https://www.cnblogs.com/betterwgo/p/15224308.html