組合模式:將物件組合成樹形結構以表示"部分-整體"的層次結構,組合模式使用使用者對單個物件和組合物件的使用具有一致性
但需求中是體現部分與整體層次的結構時,以及希望使用者可以忽略組合物件與單個物件的不同,統一地使用組合結構中的所有物件時,就應該考慮用組合模式了
基本物件可以被組合成更負責的組合物件,而這個組合物件又可以被組合,這樣不斷遞迴下去,客戶**中,任何用到基本物件的地方都可以使用組合物件了
優點:組合模式可以清楚的定義分層次的複雜物件,表示物件的全部或部分層次,他讓高層模組忽略的層次的差異,方便對整個層次結構進行控制
高層模組可以一致的使用乙個組合結構或者其中單個物件,不必關係處理的是單個物件還是整個組合結構,簡化了高層模組的**
在組合模式中增加新的枝幹結構和葉子構件都很方便,無需對現有類進行任何修改,
組合模式為樹形結構的面相物件實現提供了一種靈活的解決方案,通過葉子物件和枝幹物件的遞迴組合,可以形成複雜的樹形結構,但對樹形結構的控制卻非常簡單
缺點是在新增構件時不好對枝幹中的構件型別進行限制,不能依賴型別系統來施加這些約束,因為在大對數情況下,他們都來自於相同的抽象層,此時,必須進行型別檢查來實現,這個實現過程較為複雜,
設計模式學習 組合模式
組合模式,又叫部分整體模式,它建立了物件組的樹形結構,將物件組合成樹狀結構以表示 整體 部分 的層次關係。組合模式依據樹形結構來組合物件,用來表示部分以及整體層次。這種型別的設計模式屬於結構型模式。組合模式使得使用者對單個物件和組合物件的訪問具有一致性,即 組合能夠讓客戶以一致的方式處理個別物件以及...
組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
設計模式學習筆記 組合模式
定義 將物件組合成樹形結構以表示 部分 整體 的層次結構,使得使用者對單個物件和組合物件的使用具有一致性。組合模式主要用來處理一些具有 容器特徵 的物件,即他們在充當物件的同時,又可以作為容器包含其他的多個物件。也就是說組合模式表達的是一種樹形的結構,將資料結構中的 樹 用物件導向的方式表現出來了,...