您好,登錄后才能下訂單哦!
本篇內容主要講解“web組合模式有哪些特征”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“web組合模式有哪些特征”吧!
意圖
使用組合的方式管理下級要素,在實現一個樹形數據結構的同時為各級節點提供相同的接口,使用者可以以相同的觀點看待樹上的每個節點。
動機
現實世界中存在很多的樹形結構,先看兩個例子。首先是公司組織結構圖:
通過觀察可以發現,這兩個例子中的樹形結構具有以下的特征:
樹上存在包含其他節點的父節點,也存在不包含其他節點的頁子節點。
父節點和下級節點可以看作是整體和部分的關系
下級節點也有可能是其他節點的父節點。
這種包含關系可能會有很多層。
通常會存在一些共通操作,需要從父節點擴散到子節點。
最后一點圖中沒有體現,這里進行補充說明。所謂的共通操作,對于公司組織圖來說,可以是發布通知,收集績效數據,考評等;對于計算機來說可以是開關電源等。當然,實際需要哪種操作時根據需求決定的,但是一般的情況下都可以很容易地找出共通操作。
對于上面的樹狀結構建模時,一般的方法就是為每種要素設計一個類,但是這樣一來有一個問題:包含其他要素的父節點類都有兩個共通功能:一個是需要管理子節點,一個是要擴散操作。于是對類圖進行優化,得到下面的類圖。
在這個類圖中PartsGroup承擔了管理子節點和擴散共通操作的職責。它可以管理任何的Parts類,也包含另外的PartsGroup對象。這種組合關系可以根據需求多次重復。
這樣一來,利用者就不必關心具體的節點類型,是否包含下級節點,有多少層下級節點,只管對眼前的節點調用其操作就好了。
到此,相信大家對“web組合模式有哪些特征”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。