我有將應用程序拆分成模塊的問題。我發現了OSGi,但我不確定它是否能解決我的問題。如何使用實現相同接口的多個bundle的正確bundle?
可以說我擁有核心Web應用程序。此應用程序顯示錶中的儀表板列表(列「所有者名稱」,「描述」,「創建日期」)。當我點擊列表中的儀表板時,我將重定向到儀表板屏幕。
現在事情變得複雜了。這些儀表板可以是不同的類型(公司儀表板,PersonalDashboards等)。這些類型應該是可選模塊(取決於實例在實現時可能只有一種類型或兩種或更多)。
而現在: 我有我的應用程序的核心,我想創建儀表板列表而不知道它的類型。假設我有一些儀表板界面。我使用Dashboard.getName,Dashboard.getDescription,Dashboard.onClick等。我不希望核心知道連接的包。現在,當點擊儀表板時,它應該加載並顯示正確類型的儀表板(CompanyDashboard或PersonalDashboard)。
如何在不知道可用類型的情況下加載正確的核心。 OSGi是否使用正確的工具?