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)行は必要ですか、それとも U1 が I1 を実装していること (Go のインターフェイスのようなもの) を ZCA が独自に判断できますか?

4

1 に答える 1

4

コンポーネントはそれを述べる必要はありません。コンポーネントの検索はインターフェイスで行われるため、コンポーネントのインターフェイスは、コンポーネント レジストリに登録されるときに最も重要になります。

コンポーネントがどのインターフェイスを実装しているかをコンポーネント レジストリに伝えるには、いくつかの方法があります。最も一般的な 1 つの方法は、コンポーネント自体で implements() 呼び出しを使用することです。また、コンポーネントの登録時に実装するインターフェースをコンポーネント レジストリに伝えることもできます。

コンポーネントが特定のインターフェースを実装しているかどうかをチェックする関数もあり、主にテストで使用されます。

そうです、ZCA のインターフェースは Go と同じように機能しますが、コンポーネント レジストリが追加されています (Go にそれが必要ですが、私は Go の専門家ではありません)。インターフェイスと名前について。

于 2011-12-28T07:19:16.633 に答える