設計模式 組合模式

2021-08-16 01:22:54 字數 1580 閱讀 1751

1組合模式的基礎知識

1概念:將物件以樹形結構組織起來使物件達成「整體—部分」的層次結構,使得客戶端對單個物件和組合物件的使用具有一致性。能將複雜物件處理成為簡單的元素,達到解耦

2使用場景:

2.1.使得對乙個物件的使用可以忽略其部分到整體層次的差異

2.2.讓客戶端可以忽略不同物件的層次變化

例如:viewgroup中就是這樣使用的,這樣設計使得遞迴時候的負責度不會遞增,

3組合模式的優點:

3.1.高層模組呼叫簡單,呼叫的時候只要呼叫抽象的component就可以

3.2.節點自由增加,繼承抽象類的子類可以自由隨意的增加

4.uml結構圖

5.**部分(為節省時間這裡採用貼圖)

首先來看我們的抽象類,就是所有的層次都要繼承它

接下來是繼承該類的子類

和另乙個子類

接下來是客戶端的呼叫

2組合模式在android中的具體使用

首先說一點,android中view是樹形結構

先來看看view與viewgroup的關係

重點,viewgroup是抽象類,是view的子類,並且實現了viewparent和viewmanager兩個介面

先來看viewmanager

看得出是對view的增加刪除等操作

怎麼樣,清楚了沒有

接下來是viewparent

是對view的更新,一旦我們的布局有了更改,會同過各個方法來實現對布局的更新

所以,上面兩個介面就是viewgroup與view的另乙個區別

又回到上面的一點,viewgroup是個抽象方法,舉個例子,他的onlayout是個抽象方法,也就是子類必須實現該方法才能實現布局定位,而view中onlayout是乙個具體方法,並且是個空實現,就是說沒有具體內容的方法,因為view內部是不會去放置view的

組合模式 設計模式 組合模式

1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...

設計模式 組合模式 組合模式使用

目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...

設計模式 組合設計模式

組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...