元件拓撲

這些關係如下:

  • 元件執行個體樹狀結構:說明元件執行個體如何組合 (父項與子項關係)。
  • 功能轉送圖表:說明元件執行個體如何取得存取權,以便使用其他元件執行個體所發布的功能 (提供者與消費者關係)。

元件執行個體

如果結構定義清楚,您通常可以交替使用字詞元件和元件執行個體。舉例來說,比起「啟動元件」,您可以更精確地表示「啟動元件執行個體」,而不是「啟動元件」。不過您可以輕易推斷,必須先建立該元件的執行個體,才能啟動執行個體。

元件執行個體是透過網址識別,而元件執行個體則是由「捷徑」識別。同一元件的不同執行個體會共用相同的網址,但也有不同的網址。

元件執行個體樹狀結構

元件執行個體樹狀結構指出元件如何組合在一起,以建立更複雜的元件。

使用階層組合時,父項元件會建立其他元件的例項,也就是其「子項」。子項執行個體屬於父項執行個體,並依附於父項,提供執行所需的功能。同時,父項也能透過「功能轉送」存取子項所公開的功能。

兒童可以透過下列兩種方式建立:

  • 靜態:父項會在自己的元件宣告中宣告子項存在。如果在父項軟體的更新版本中移除子項宣告,系統會自動刪除子項。
  • 動態:父項會使用 Realm 架構通訊協定,將子項新增至父項宣告的元件集合。父項會以類似方式刪除子項。


元件執行個體樹狀結構的圖表

莫尼克

「Moniker」會使用拓撲路徑識別元件樹狀結構中的特定元件執行個體。魔王有三種類型,具體取決於您的使用方式以及所描述的一種關係:絕對、相對和子項。

詳情請參閱螢幕截圖說明文件


元件執行個體樹狀結構和圖示的示意圖

領域

領域是元件執行個體樹狀結構的子樹狀結構。每個領域都是以元件執行個體為基礎的,其中包含該執行個體的所有子項及其子系。換句話說,運作範圍可以表示元件執行個體的階層結構

運作範圍是元件拓撲中的重要「封裝」邊界。每個領域的根會獲得特定權限,以影響元件的行為,例如:

  • 宣告功能在領域內外的流動方式。
  • 繫結至子項元件,以便存取其功能。
  • 建立及刪除子項元件。

詳情請參閱運作範圍說明文件


元件運作範圍圖表

封裝

元件是封裝界線。除非公開宣告明確允許功能,否則功能無法逸出元件的領域

子項永遠依附於父項,無法更改父項,也無法讓父項超過父項。父項遭到刪除時,也會成為其所有子項。

這個模型類似於物件導向程式設計語言中的組合

詳情請參閱運作範圍說明文件


元件執行個體封裝圖表

功能轉送圖表

功能轉送圖表說明元件如何取得存取權,以便使用元件執行個體樹狀結構中其他元件公開及提供的功能。為了讓元件執行個體提供的能力可供消費者元件執行個體使用,則元件執行個體之間必須有能力轉送路徑。這類能力路徑是由元件宣告中的 useofferexpose 宣告決定。

詳情請參閱功能轉送說明文件


能力轉送圖表