python中是不是有类似于osgi试图在java中解决的要求?

Posted

技术标签:

【中文标题】python中是不是有类似于osgi试图在java中解决的要求?【英文标题】:is there a requirement in python similar to what osgi tries to solve in java ?python中是否有类似于osgi试图在java中解决的要求? 【发布时间】:2012-06-10 07:48:52 【问题描述】:

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

【问题讨论】:

也许你应该解释一下,为了你问的 Python 人的利益,什么是 OSGI 以及它解决了什么问题。 @DanielRoseman 我还没有真正理解 OSGI 是什么,我问这个问题的部分动机是通过与类似的东西进行比较来理解 OSGI @DanielRoseman from this article: "[...] OSGi for Java [... is ...] Java 的模块化系统,除其他外,有助于解决 CLASSPATH 问题、jar 之间的版本控制问题、模块的动态生命周期 [...]". 【参考方案1】:

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

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

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

我认为 Python,以及就此而言 Ruby 和其他语言将极大地受益于像 OSGi 这样的服务代理。

【讨论】:

天啊!我在尝试下载 bnd 时看到了你

以上是关于python中是不是有类似于osgi试图在java中解决的要求?的主要内容,如果未能解决你的问题,请参考以下文章

微软有类似的 OSGI 吗?

Python中是不是有类似于Perl中的“想要”的东西

Go 和命名空间:是不是有可能实现类似于 Python 的东西?

Python中是不是有类似于C++ STL map的结构?

还有更多类似 OSGi 的吗?

Python 是不是有类似于 R 包预测中的 nnetar 的模型?