設計模式筆記之組合模式?

生活中我們有一些這樣的功能,可以複製一個資料夾也可以一個一個的複製檔案,可以給文字中一個個文字改變顏色也可以對整段文字進行處理,也就是對部分與整體來說,可以被一致的對待。在設計模式中,我們稱之為“組合模式”。我們以簡單的學校結構來介紹。

設計模式筆記之組合模式

工具/原料

能夠使用java程式設計的電腦一臺

方法/步驟

組合模式(Composite)定義:將物件組合成樹形結構以表示“整體-部分”的層次結構。組合模式使使用者對單個物件和組合物件的使用具有一致性。UML結構圖如下。(PS: 來自《大話設計模式》一書)

設計模式筆記之組合模式

新建School抽象類,代表我們的Component角色。帶name屬性,代表學校名稱。四個方法:

- add(School school): 新增分校

- remove(School school): 移除分校

- display(): 展示自己

設計模式筆記之組合模式

新增ConcreteSchool,具體學校類,繼承School類,代表樹枝節點。

設計模式筆記之組合模式

新增ZhaoshengDepartment類,代表招生部,為葉子節點。

設計模式筆記之組合模式

新增JiaodaoDepartment類,代表教導部,為葉子節點。

設計模式筆記之組合模式

新增一個getSpecifiedDashes用於返回指定數量的減號,方便列印結構圖格式。

設計模式筆記之組合模式

新增測試方法,執行檢視測試結果。

設計模式筆記之組合模式

注意事項

喜歡我的文章,別忘了點贊+收藏!配合分享效果更佳哦~

文字, 筆記, 模式, 設計模式,
相關問題答案