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

    组合模式


    设计原则:遵循依赖倒置、开闭原则,破坏接口隔离
    常用场景:当有一个结构可以组合成树形结构,且需要向客户端提供一致的操作接口,使得客户端操作忽略简单元素与复杂元素
    使用概率:30%
    复杂度:中
    变化点:节点的数量
    选择关键点:对外提供一致操作接口的结构是否可转化为树形结构
    逆鳞:结构不稳定或结构中的节点有递归关系



    主要思想:
    体现部分与整体的层次结构
    一般都持有多个本类型的其它对象实例 常见的就是树形结构



    public class TreeNode {
        private String name;
    
        //持有本类型的其他对象
        private TreeNode parent;
        private TreeNode left;
        private TreeNode right;
    
    
        //体现整体结构  整体都有删除左右等等方法
        public void remodeLeft() {
            this.left = null;
        }
    
        public void remodeRight() {
            this.right = null;
        }
    
        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 TreeNode getLeft() {
            return left;
        }
    
        public void setLeft(TreeNode left) {
            this.left = left;
        }
    
        public TreeNode getRight() {
            return right;
        }
    
        public void setRight(TreeNode right) {
            this.right = right;
        }
    }
  • 相关阅读:
    Leetcode | Work Break I & II
    X-Japan
    Leetcode | Gas Station
    jstring, String, char* 变换函数
    动态链接库的创建
    C语言实现md5函数代码
    ARM汇编指令集
    2014年 各类黑客工具包
    ARM汇编指令的一些总结-转
    ARM指令集学习总结-转载
  • 原文地址:https://www.cnblogs.com/zhaojj/p/7772981.html
Copyright © 2011-2022 走看看