组件基础设施,基于zope.interface
zeam.component的Python项目详细描述
zeam.component的灵感来自zope.component和 grokcore.component,但保持简单得多,并且拥有更少的 基本概念。希望这能提高灵活性。
注册
基类可以用来注册组件, zeam.component.Component。它支持所有指令 grok.context,grok.adapts,grok.provides和grok.name 就像在格罗克定义的那样。你可以用这些来注册 组件作为实用程序、(命名)适配器或(命名)适配器 多适配器。
注册组件的另一种可能性是使用 componentdecorator,zeam.component.component。它需要 参数组件所适应的接口,并作为关键字 参数,provides组件提供的接口, 作为name它将被注册的名称。
查找
您可以使用 zeam.component.getComponent。您可以选择提供:
- specs:组件 必须适应才能回来。
- provided:组件必须在中提供的接口 要退货的订单。
- name:必须在其中注册组件的名称 要退货的订单。
- default:如果没有组件将返回的默认值 符合要求。如果没有提供默认值,并且没有 找到组件时,将触发异常。
您可以使用查找可能已注册组件的列表 zeam.component.getAllComponents。您可以选择提供:
- specs:对象或规范的元组stat组件必须 为了被归还而适应。
- provided:组件必须在中提供的接口 要退货的订单。
请注意,在这两种情况下,组件都是直接返回的。在 任何情况下,都不会对查找结果进行构造。
支持相同选项的助手zeam.component.getWrapper。 否则zeam.component.getComponent函数将调用结果 作为参数传递给specs的值的查找 它。这是为了有一个getadapter或queryadapter 喜欢行为。请注意,如果在 初始化组件时,错误不会被捕获。
变化
1.0(2012/09/03)
- 初次发布。