zoukankan      html  css  js  c++  java
  • 设计模式之 组合模式

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

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

    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的子节点


  • 相关阅读:
    根据当前系统时钟或签名文件的时间戳记核对时,所需要的凭证不在有效期内。
    自定义生成二维码
    MyBatis 开发学习记录
    SPRINGCLOUD 开发学习记录
    DOCKER 开发学习记录
    Spring in action学习笔记
    23种设计模式JAVA 实现目录总结
    访问者模式
    迭代器模式
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/betterwgo/p/15224308.html
Copyright © 2011-2022 走看看