精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

設計模式結構性:組合模式

冬至子 ? 來源:碼農架構 ? 作者:小智 ? 2023-06-08 10:34 ? 次閱讀

組合模式(Composite Pattern),又叫部分整體模式,是用于把一組相似的對象當作一個單一的對象。

組合模式依據樹形結構來組合對象,用來表示部分以及整體層次。這種類型的設計模式屬于結構型模式,它創建了對象組的樹形結構。

這種模式創建了一個包含自己對象組的類。該類提供了修改相同對象組的方式。

我們通過下面的實例來演示組合模式的用法。實例演示了一個組織中員工的層次結構。

結構圖

圖片

角色與理解

  • 組合模式共分為三種角色:
  • Component (抽象構件):葉子構件與容器構件共同繼承的父類或者是共同實現的接口,該角色中包含所有子類共有方法的聲明和實現,在抽象構件中定義了管理子構件的方法,新增構件、刪除構件、獲取構件。
  • Leaf (葉子構件):表示葉子節點,沒有子節點,對于繼承父類的管理子節點的方法以拋出異常的方式處理。
  • Composite (容器構件):表示容器節點,包含子節點,子節點可以是容器節點也可以是葉子節點,其提供一個集合來對子節點進行維護,以迭代的方式對子節點進行處理。
  • 組合模式的關鍵是抽象構件類,它既可以表示葉子節點也可以表示容器節點,對于客戶端而言是統一對抽象構件進行處理的,抽象構件類和容器構件類是聚合關聯的關系,抽象構件類是容器構件類的一部分,這樣容器構件類對子構件進行處理時不用區分是葉子節點還是容器節點,能夠統一的做處理

核心代碼

  • 抽象組件

圖片

  • 容器節點

圖片

  • 葉子節點

圖片

  • 客戶端

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • pattern
    +關注

    關注

    0

    文章

    6

    瀏覽量

    9628
收藏 人收藏

    評論

    相關推薦

    模式 PFC + 電流模式 LLC 組合控制器

    1. 簡介 [HR1211]是一款集成了多模式 PFC 和電流模式 HB LLC 的組合控制器,它性能卓越,具體參數請參閱 HR1211 數據手冊。 *附件:多模式 PFC + 電流
    的頭像 發表于 06-04 16:46 ?7754次閱讀
    多<b class='flag-5'>模式</b> PFC + 電流<b class='flag-5'>模式</b> LLC <b class='flag-5'>組合</b>控制器

    優化電動汽車的結構性

    優化電動汽車的結構性能以提高效率和安全迅速增長的全球電動汽車(EV)市場預計到2027年將達到8028億美元。在電池和高壓電子設備的驅動下,電動汽車的運行和維護成本往往低于傳統汽車,幾乎不會產生
    發表于 09-17 08:10

    迷你組合音響的音場模式

    迷你組合音響的音場模式              音場的模式不是為了真實的再現錄音時的聲音,而是讓聲音更能符合收聽者
    發表于 01-04 15:05 ?1070次閱讀

    STM32的結構和啟動模式

    STM32的結構和啟動模式需要的來下載哦。
    發表于 03-31 17:36 ?46次下載

    適配器模式、裝飾器模式、代理模式的區別

    適配器模式、裝飾器模式、代理模式都屬于設計模式中的結構型模式結構型設計
    發表于 10-18 15:53 ?1.7w次閱讀
    適配器<b class='flag-5'>模式</b>、裝飾器<b class='flag-5'>模式</b>、代理<b class='flag-5'>模式</b>的區別

    組合模式(Composite Pattern)的用法

    組合模式主要是為了表達“部分-整體”的層次結構,例如公司的組織架構,每個部門下又有若干個下級部門,再如菜單結構,每個菜單下可能有一個或多個子菜單。
    的頭像 發表于 06-01 15:30 ?669次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>模式</b>(Composite Pattern)的用法

    設計模式結構性:適配器模式

    適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式,它結合了兩個獨立接口的功能。
    的頭像 發表于 06-07 11:56 ?737次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>結構性</b>:適配器<b class='flag-5'>模式</b>

    設計模式結構性:橋接模式

    橋接模式不是將兩個不相干的類鏈接,而是將一個需要多維度變化的類拆分成抽象部分和實現部分,并且在抽象層對兩者做組合關聯,是用組合的方式來解決繼承的問題。
    的頭像 發表于 06-08 10:49 ?763次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>結構性</b>:橋接<b class='flag-5'>模式</b>

    設計模式結構性:門面模式

    門面模式,是指提供一個統一的接口去訪問多個子系統的多個不同的接口,它為子系統中的一組接口提供一個統一的高層接口。
    的頭像 發表于 06-08 14:28 ?644次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>結構性</b>:門面<b class='flag-5'>模式</b>

    設計模式結構性:享元模式

    享元模式(Flyweight Pattern)主要用于減少創建對象的數量,以減少內存占用和提高性能。
    的頭像 發表于 06-08 17:32 ?719次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>結構性</b>:享元<b class='flag-5'>模式</b>

    設計模式結構性:代理模式

    在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設計模式屬于結構型模式
    的頭像 發表于 06-09 15:27 ?819次閱讀
    設計<b class='flag-5'>模式</b><b class='flag-5'>結構性</b>:代理<b class='flag-5'>模式</b>

    組合模式應該怎么用

    uniformly. 組合模式(Composite Pattern):將對象組合成樹形結構以表示“部分-整體”的層次結構, 使得用戶對單個
    的頭像 發表于 10-09 10:37 ?412次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>模式</b>應該怎么用

    5G技術和電動汽車會推動結構性增長嗎?.zip

    5G技術和電動汽車會推動結構性增長嗎?
    發表于 01-13 09:06 ?1次下載

    存儲器結構性分道篇.zip

    存儲器結構性分道篇
    發表于 01-13 09:07 ?1次下載

    汽車行業:短期關注芯片短缺改善,長期布局結構性機會.zip

    汽車行業:短期關注芯片短缺改善,長期布局結構性機會
    發表于 01-13 09:07 ?2次下載