如何获取实现接口的类的列表?(zope.接口)

Lui*_*ron 5 python zope interface zope.interface

这个问题说明了一切。或者我试图用于zope.interface错误的目的?

我需要的基本上是注册实现特定功能的类(CMS 的小部件或 Portlet)的一种方法。基本上就像 django 对其 ModelAdmin 类所做的那样,但不是自动的,也不是魔法。

Mar*_*ers 3

这就是架构解决的问题zope.component,但是您必须注册接口的所有使用。其本身zope.interface并不跟踪哪些对象实现了给定的接口。

您正在寻找的是实用程序注册;由接口定义的给定服务的所有实现。

  • Martijn 只是引用 ZCatalog 作为例子。对于您想要在每个实现的接口基础上查询的每个类,您必须将该类注册为 ZCA 中的实用程序,正如 Martijn 所说。IOW,您必须显式注册它们才能按照您的要求查询它们。 (2认同)