• 设计模式之Composite


    设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则)

    Composite定义

    将对象以树形结构组织起来,以达成“部分-整体” 的层次结构。

    想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。

    Composite好处?

    1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还是整个组合结构,这就简化了客户端代码。
    2.更容易在组合体内加入对象部件. 客户端不必因为加入了新的对象部件而更改代码。

    Composite应用?

    1.文件目录与实际目录的展示

    Composite模式结构?

    附上Composite的代码:

    public class Composite extends Component{
        
        private ArrayList list = new ArrayList();
        public void add(Component component){ list.add(componet); }
        public void remove(Componet componet){list.remove(component);}
        public Component getChild(int index){ (Component)list.get(index);}
        public void operation(){
            for(Object o : list){
                    ((Component)o).operation();
        }
    
    }
    

    这个部分比较好理解。可以与文件系统来举例说明。

    一个文件dir里可以有dir也可以有file。dir种可以add/remove dir/file但是file中不能add dir/file。你可以分析出dir中会有一个存放dir/file的list。

  • 相关阅读:
    C#在winform中操作数据库,实现数据增删改查
    未开启Hyper-V,却提示VMware Workstation与Hyper-V不兼容。
    winform实例(5)-截屏工具+保存
    winform实例(4)-播放器(wmp)
    winform实例(3)-利用摄像头进行拍照
    winform实例(2)-简单浏览器
    winform实例(1)-简单记事本
    C#异常处理
    百度文库下载破解
    学习小技能-封装字段
  • 原文地址:https://www.cnblogs.com/hongguang-kim/p/5977246.html
Copyright © 2020-2023  润新知