組合模式

組合模式

定義

  • 對組合執行操作如同對其中的每一個元素進行操作
  • 引申
    • 組合與元素實現相同的操作接口

適用場景

  • 可以用樹形結構抽象的業務場景,元素表示葉節點,組合對象表示非葉節點
    • 如:公司組織架構
    • 操作系統文件目錄組織結構
  • 元素對象和組合對象具有相同的對外接口
    • 因此用戶不知道他操作的組合對象還是元素對象

使用方式

這裏寫圖片描述

interface Action {
    void doA();
}

class AComposite implements Action {
    // elements集合中即包含組合對象,也包含元素對象
    private Collection<Action> elements;

    @Override
    public void doA() {
        // 對於組合對象,遞歸實現doA
        elements.forEach(ele->doA());
    }
}

class ActionImpl implements Action {
    @Override
    public void doA() {
        ......
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章