国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

組合模式(Composite)

CloudwiseAPM / 2808人閱讀

摘要:組合模式一組合模式定義將對象組合成樹形結(jié)構(gòu)以表示部分整體的層次結(jié)構(gòu)組合模式使得用戶對單個對象和組合對象的使用具有一致性二實(shí)現(xiàn)創(chuàng)建節(jié)點(diǎn)類方法調(diào)用輸出三優(yōu)缺點(diǎn)優(yōu)點(diǎn)調(diào)用簡單節(jié)點(diǎn)自由增加缺點(diǎn)類間組合,違反依賴倒置原則四源碼

組合模式

一.組合模式 1.1 定義

將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu).

組合模式使得用戶對單個對象和組合對象的使用具有一致性.

二.實(shí)現(xiàn) 2.1 創(chuàng)建節(jié)點(diǎn)類
    public class Node {
        private String id;
        private String name;
        private String parentId;
        private List children = new ArrayList<>();
        public Node(String id, String name, String parentId) {
            this.id = id;
            this.name = name;
            this.parentId = parentId;
        }
        //getter,setter方法
        public void add(Node node){
            List nodeList = this.getChildren();
            nodeList.add(node);
            this.setChildren(nodeList);
        }
        public void print(){
            System.out.println("node:" + getName());
            for(Node node : children){
                node.print();
            }
        }
    }
2.2 調(diào)用
    public static void main(String[] args) {
        Node node = new Node("1", "root", "");
        Node node1 = new Node("2", "composite1", "1");
        Node node2 = new Node("3", "leaf1", "1");
        Node node3 = new Node("4", "leaf2", "2");
        node1.add(node3);
        node.add(node1);
        node.add(node2);
        node.print();
    }
2.3 輸出
    node:root
    node:composite1
    node:leaf2
    node:leaf1
三.優(yōu)缺點(diǎn) 3.1 優(yōu)點(diǎn)

調(diào)用簡單.

節(jié)點(diǎn)自由增加.

3.2 缺點(diǎn)

類間組合,違反依賴倒置原則.

四.源碼
    https://github.com/Seasons20/DisignPattern.git

END

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69482.html

相關(guān)文章

  • 設(shè)計模式組合模式

    摘要:安全式組合模式中的抽象構(gòu)件不聲明管理子類的接口,把操作移交給子類完成。組合模式實(shí)現(xiàn)樣例使用組合模式實(shí)現(xiàn)目錄和課程之間的關(guān)系。 0x01.定義與類型 定義:將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),使客戶端對單個對象和組合對象保持一致的方式處理 組合模式實(shí)現(xiàn)的最關(guān)鍵的地方是:簡單對象和復(fù)合對象必須實(shí)現(xiàn)相同的接口,這就是組合模式能夠?qū)⒔M合對象和簡單對象進(jìn)行一致處理的原因。 類型:結(jié)...

    jsdt 評論0 收藏0
  • 聽飛狐聊JavaScript設(shè)計模式系列12

    摘要:,對組合對象執(zhí)行的操作可以向下傳遞到葉子節(jié)點(diǎn)進(jìn)行操作。組合模式之圖片庫圖片庫可以有選擇地隱藏或顯示圖片庫的全部或某一部分單獨(dú)的或是部分的。 本回內(nèi)容介紹 上一回,聊了橋接模式,做了一道計算題;介一回,聊組合模式(Composite),官方描述組合模式將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),組合模式使得用戶對單個對象和組合對象的使用具有一致性。 組合模式特性 這里我理了一下,就組...

    HitenDev 評論0 收藏0
  • Java設(shè)計模式之(十)——組合模式

    摘要:什么是組合模式什么是組合模式組合模式將對象組合成樹形結(jié)構(gòu)以表示部分整體的層次結(jié)構(gòu),使得用戶對單個對象和組合對象的使用具有一致性。組合模式應(yīng)用場景組合模式應(yīng)用場景只要是樹形結(jié)構(gòu),就可以考慮使用組合模式。1、什么是組合模式?Compose objects into tree structures to represent part-whole hierarchies.Composite lets...

    不知名網(wǎng)友 評論0 收藏0
  • js設(shè)計模式 --- 組合設(shè)計模式

    摘要:組合設(shè)計模式組合模式,將對象組合成樹形結(jié)構(gòu)以表示部分整體的層次結(jié)構(gòu),組合模式使得用戶對單個對象和組合對象的使用具有一致性。 組合設(shè)計模式 組合模式,將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),組合模式使得用戶對單個對象和組合對象的使用具有一致性。它使我們樹型結(jié)構(gòu)的問題中,模糊了簡單元素和復(fù)雜元素的概念,客戶程序可以像處理簡單元素一樣來處理復(fù)雜元素,從而使得客戶程序與復(fù)雜元素的內(nèi)部結(jié)...

    ninefive 評論0 收藏0
  • [設(shè)計模式][組合模式][Javascript]

    摘要:簡化了父和子之間的關(guān)系。對于子節(jié)點(diǎn)來說也是一樣的,過多的接口暴露有時候也是一種濫用,同時也減少了對外部的依賴。 The Composite Pattern is a partitioning design pattern. The composite pattern describes that a group of objects is to be treated in the...

    hersion 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<