跳转到主要内容

基于zope.interface的组件基础设施

项目描述

zeam.componentzope.componentgrokcore.component 的启发,但保持更加简单,并且概念较少。希望这能提高灵活性。

注册

可以使用一个基类来注册组件,zeam.component.Component。它支持所有在Grok中定义的指令 grok.contextgrok.adaptsgrok.providesgrok.name,您可以使用这些指令将组件注册为工具、(命名)适配器或(命名)多适配器。

注册组件的另一种可能性是使用 component 装饰器,即 zeam.component.component。它接受组件适配的接口作为参数,以及作为关键字参数,提供组件提供的 Interface,并以 name 的形式提供注册时的名称。

查找

您可以使用 zeam.component.getComponent 查找特定的已注册组件。您可以提供以下选项:

  • specs:组件必须适配的对象或规范元组,以便返回。

  • provided:组件必须提供 Interface,以便返回。

  • name:组件必须注册的名称,以便返回。

  • default:如果没有组件符合要求,将返回的默认值。如果没有提供默认值,并且未找到任何组件,将触发异常。

您可以使用 zeam.component.getAllComponents 查找可能已注册的组件列表。您可以提供以下选项:

  • specs:组件必须适配的对象或规范元组,以便返回。

  • provided:组件必须提供 Interface,以便返回。

请注意,在这两种情况下,组件都直接返回。在任何情况下,都不会对查找结果进行构造。

辅助函数 zeam.component.getWrapper 支持与 zeam.component.getComponent 函数相同的选项,并将作为参数传递给查找结果的值。这是为了获得类似 getAdapterqueryAdapter 的行为。请注意,如果在组件初始化过程中发生错误,错误不会被为您捕获。

更改

1.0 (2012/09/03)

  • 初始发布。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

zeam.component-1.0.tar.gz (4.4 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面