溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web組合模式有哪些特征

發(fā)布時間:2022-01-13 16:04:05 來源:億速云 閱讀:103 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“web組合模式有哪些特征”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“web組合模式有哪些特征”吧!

意圖

使用組合的方式管理下級要素,在實現(xiàn)一個樹形數(shù)據(jù)結構的同時為各級節(jié)點提供相同的接口,使用者可以以相同的觀點看待樹上的每個節(jié)點。

動機

現(xiàn)實世界中存在很多的樹形結構,先看兩個例子。首先是公司組織結構圖:

web組合模式有哪些特征

通過觀察可以發(fā)現(xiàn),這兩個例子中的樹形結構具有以下的特征:

  1. 樹上存在包含其他節(jié)點的父節(jié)點,也存在不包含其他節(jié)點的頁子節(jié)點。

  2. 父節(jié)點和下級節(jié)點可以看作是整體和部分的關系

  3. 下級節(jié)點也有可能是其他節(jié)點的父節(jié)點。

  4. 這種包含關系可能會有很多層。

  5. 通常會存在一些共通操作,需要從父節(jié)點擴散到子節(jié)點。

最后一點圖中沒有體現(xiàn),這里進行補充說明。所謂的共通操作,對于公司組織圖來說,可以是發(fā)布通知,收集績效數(shù)據(jù),考評等;對于計算機來說可以是開關電源等。當然,實際需要哪種操作時根據(jù)需求決定的,但是一般的情況下都可以很容易地找出共通操作。

對于上面的樹狀結構建模時,一般的方法就是為每種要素設計一個類,但是這樣一來有一個問題:包含其他要素的父節(jié)點類都有兩個共通功能:一個是需要管理子節(jié)點,一個是要擴散操作。于是對類圖進行優(yōu)化,得到下面的類圖。

在這個類圖中PartsGroup承擔了管理子節(jié)點和擴散共通操作的職責。它可以管理任何的Parts類,也包含另外的PartsGroup對象。這種組合關系可以根據(jù)需求多次重復。

這樣一來,利用者就不必關心具體的節(jié)點類型,是否包含下級節(jié)點,有多少層下級節(jié)點,只管對眼前的節(jié)點調用其操作就好了。

到此,相信大家對“web組合模式有哪些特征”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

web
AI