設計模式學習筆記二十九 組合模式概念了解

2021-10-06 07:06:50 字數 563 閱讀 3993

一、問題

1、學校院系展示需求

2、要求要在乙個頁面中展示出學校的院系組成,乙個學校有多少個學院,乙個學校有多個系。

3、學校 包含學院。學院包含系

二、實現方式

1、繼承方式:不能很好實現管理

2、組合模式:

三、組合模式基本介紹

1、由叫部分整體式,它建立了物件的樹形介面,將物件組合成樹狀結構表示「整體-部分」的層次關係。

2、依據樹形機構來組合物件,用來表示部分以及整體層次

3、這種型別的設計模式屬於結構型模式

4、組合模式使得使用者對單個物件和組合物件的訪問具有一致性,即:組合能讓客戶以一致的方式處理個別物件以及組合物件。

四、注意

1、簡化客戶端操作。面對一致的物件不用考慮整體或部分具體問題。

2、有擴充套件性,當需要改變組合物件時,只需要調整內部的層次關係,客戶端不用做出任何改動。

3、方便建立出複雜的層次結構。客戶端不用去理會組合裡面的組成細節。

4、處理者具有樹形結構時用

5、有較高的抽象性,如果類的很多方法都不一樣,屬性也不一樣,則不合適用組合模式。

黑板模式(二十九)

黑板模式 blackboarddesignpattern 是觀察者模式的乙個擴充套件,知名度並不高,但是我們使用的範圍卻非常廣。黑板模式的意圖如下 允許訊息的讀寫同時進行,廣泛地互動訊息。簡單地說,黑板模式允許多個訊息讀寫者同時存在,訊息的生產者和消費者完全分開。這就像乙個黑板,任何乙個教授 訊息的...

(二十九)設計模式之單例設計模式

單例模式的思路是 乙個類能返回乙個物件的引用 並且永遠是同乙個 和乙個獲得該例項的方法 靜態方法,通常使用 getinstance 名稱 那麼當我們呼叫這個方法時,如果類持有的引用不為空就返回該引用,否者就建立該類的例項,並且將例項引用賦值給該類保持的那個引用再返回。同時將該類的建構函式定義為私有方...

(二十九)設計模式之單例設計模式

單例模式的思路是 乙個類能返回乙個物件的引用 並且永遠是同乙個 和乙個獲得該例項的方法 靜態方法,通常使用 getinstance 名稱 那麼當我們呼叫這個方法時,如果類持有的引用不為空就返回該引用,否者就建立該類的例項,並且將例項引用賦值給該類保持的那個引用再返回。同時將該類的建構函式定義為私有方...