4

在试图了解 OSGI 在 java 生态系统中解决了什么问题时,我发现自己想知道 python 中是否也存在这样的问题?如果是,它是如何解决的,如果不是,为什么?

4

1 回答 1

6

OSGi 的目的是编写(可重用)活动模块,这些模块可以在运行时相互发现,以便这些模块可以决定协作。主要机制是充当对象的简单代理的服务注册表。

JavaScript 中也存在类似的机制,其导出全局变量。然而,与 JavaScript 模块系统不同的是,OSGi 服务注册表是动态的。

我不知道 Python 中有这样的事情。我认为对 OSGi 之类的东西的需求出现在由更大或更多样化的团队制作的大型程序中。Java 的静态类型更适合的领域。尤其是因为 Java 非常注重基于接口的设计;在 Java/OSGi 的生态系统中,您会发现许多规范和实际上的多种实现。在这个世界上,将实现与规范相匹配的代理很重要。

我认为 Python 和 Ruby 以及其他语言将从 OSGi 这样的服务代理中受益匪浅。

于 2012-06-07T08:59:18.010 回答