2

注意:我是ZCA的新手,所以代码可能不正确;但是,我对 ZCA 的工作方式有些熟悉。

举个例子:

class I1(Interface):
    def c1():
        pass

class U1(object):
    implements(I1) #is this necessary?
    def c1():
        #do some things here

是否需要这implements(I1)条线,或者 ZCA 可以自己弄清楚 U1 实现了 I1(有点像 Go 中的接口工作方式)?

4

1 回答 1

4

组件不需要声明它。当组件在组件注册表中注册时,组件的接口最为重要,因为组件查找是在接口上完成的。

您可以通过多种方式告诉组件注册表组件实现了哪个接口。一种方法,最常见的方法是对组件本身使用 implements() 调用。您还可以在注册组件时告诉组件注册表它实现了哪些接口。

还有用于检查组件是否实现特定接口的功能,主要用于测试。

所以,是的,ZCA 中的接口与 Go 中的工作方式非常相似,但是添加了一个组件注册表(除非 Go 有它,但我错过了它,我不是 Go 专家),您可以在其中快速查找基于组件的组件关于接口和名称。

于 2011-12-28T07:19:16.633 回答