为什么要在OSGi中创建和使用服务

 雷神天在飘雪_804_959 发布于 2023-02-13 14:47

OSGi过去一周一直在学习,但唯一的原因似乎不适合我为什么需要注册并使用任何bundle我只需导入其JAR文件的方法.这样做我有什么好处?是的,我确实得到了依赖管理但是:

我可以JAR通过导入未注册的任何其他文件services吗?如果是,我为什么要承担使用OSGi的开销?

1 个回答
  • OSGi的整个想法是,您可以获得模块化:关注点和功能的明确分离,以及在需要时使用不同版本或实现替换或更新功能的选项.

    通过导入jar,您可以实例化在另一个jar中声明的类,但是您不能用另一个实现或版本替换它(运行时!).OSGi服务的想法是您定义Java接口并通过在OSGi服务注册表中查找其实现来从客户端使用此接口,而客户端实际上不知道接口的实现.这使得可以在运行时用另一个版本或甚至完全不同的解决方案替换实现而几乎不关心客户端.通过从另一个jar实例化一个类,这是不可能的.

    当然,如果你不需要它,你可能会认为OSGi只是很多开销.你可能是对的,这取决于你的情况.我发现遵循OSGi的结构可以让您更好地了解组件与应用程序整体架构之间的关系.维护方面的好处很大.

    2023-02-13 14:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有