用 OSGi 应用程序开发和工作的最佳实践
2010-10-09 08:12:40 来源:WEB开发网核心提示: 示例图 3 显示了一个 API 的两个提供商,其中 API 是同一版本,用 OSGi 应用程序开发和工作的最佳实践(6),在 OSGi 中,这两个提供商被认为是相同的,既然这样,Implementation A 和 Client A 被绑定到 API A,客户端(左边)和实现者(右边)都表达了一
示例
图 3 显示了一个 API 的两个提供商,其中 API 是同一版本。在 OSGi 中,这两个提供商被认为是相同的。客户端(左边)和实现者(右边)都表达了一种依赖,将匹配各自 API 提供商。
图 3. 客户端和实现者可以任意使用两个相同版本的包
图 4 显示了不同版本中的两个 API 提供商。也显示了次版本中的一个改变如何分别影响客户端和实现者。既然这样,您可以提供 API 的1.0 版本和 1.1 版本。客户 A 可以使用任何一个 API 提供程序;客户 B 使用新 API 方法,可使用最高版本 1.1。Implementation A 使用 bundle API A 提供的 API,而 Implementation B 只使用 bundle API B 提供的 API 。
服务注册表将对请求者可见的服务限制在执行与包绑定的 API 版本的那些请求者范围内,知道这一点很重要。
图 4. 一个次要 API 版本改变如何不同程度地影响客户端和实现
图 5 从客户和实现者角度显示了一个不兼容的 API 改变。既然这样,Implementation A 和 Client A 被绑定到 API A,Implementation B 和 Client B 绑定到 API B。
图 5. 一个主要 API 版本改变如何同样影响客户端和实现
5. 从实现中分离 API
[]
更多精彩
赞助商链接