2

ここで仕事をしている私の python コードでよく見かけるコード パターンを送信したいと思いますが、それに満足できず、より良い解決策が必要です。

今日の内容は次のとおりです。

class AbstractClass(object):
    ....
    def method1(self,...)
       raise NotImplementedError
    ...

class FirstImplementationMixin(object)
    def method1(self,....) 
       ...

class SecondImplementationMixin(object)
    def method1(self...)
       ....

class InstanciatedClass1(FirstImplementationMixin, AbstractClass)
    ....

class InstanciatedClass2(SecondImplementationMixin, AbstractClass)
    ....

トリックがわかりますか?継承のリストの最初の位置にミックスインを追加する必要がありますが、この解決策は好きではありません。2 番目の位置に追加すると、インタープリターは AbstractClass.method1 を使用するため、例外が発生します。

この些細な状況では、ミックスインを中間クラスに置き換えることは可能ですが、すでに基本クラスとの複雑な継承の場合、解決策は明らかではない可能性があります。

あなたにとって最高のデザインパターンは何ですか?

4

1 に答える 1