所以我學習如何使用 eclipse-kura 來實現物聯網應用程序。我的問題是,每個組件是否應該有自己的 eclipse-project/bundle,或者多個組件是否可以位于同一個包中(如在我的 OSGI-INF 中將包含 2 個不同類的 2 個組件定義)。我在任何地方都找不到任何例子。由于我是這方面的初學者,并且正在嘗試理解這些概念,因此任何提示將不勝感激。
1 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
簡短的回答:這取決于你。
長答案:你可以隨心所欲地做;)
OSGi 中沒有規則禁止將多個組件(屬于聲明性服務并用 @Component 注釋的類)放在一個包中。然而,這在一定程度上取決于您如何定義捆綁包的邊界,即,您是為每個功能創建一個捆綁包,還是在 x 層應用程序中的每一層創建一個捆綁包(例如,一個捆綁包用于數據庫,一個捆綁包用于邏輯和GUI 的一包)。這些示例完全是任意的,但您可以看到,根據您定義捆綁包范圍的方式,有時將多個組件放入一個捆綁包中是有意義的,有時則不然。
關于我建議如何構建捆綁包:
為每個功能創建一個 API 包,例如定義數據庫服務的 API、定義登錄服務的 API 或應用程序應有的任何功能。API 包通常只包含接口、抽象類和數據類型。
為每個實現創建一個實現捆綁包,其中包含實現 api 捆綁包中定義的服務接口的類,并使用 API 捆綁包中的數據類型與其他捆綁包中的服務進行通信。
每個實現包可以放置您認為適合服務實現的盡可能多的組件,但盡量不要實現超出您為此包定義的范圍邊界的功能。
添加回答
舉報
0/150
提交
取消