Mixin モードは、Python でよく使用されるモードであり、適切かつ合理的なアプリケーションにより、コードの再利用とコード構造の合理的な整理という目的を達成できます。
Python の Mixin モードは、多重継承を通じて実装できます。たとえば、ネストされた構造を持つ単純なデータ コンテナーをカスタマイズします。
リーリーUserDictからDictMixinをインポート
リーリー
Mixin は、Django や Django REST フレームワークなどの多くのフレームワークで一般的に使用され、API やビューセットを定義するときに、多重継承を通じていくつかの機能を利用できます。 もちろん、Mixin モードを悪用することはできません。少なくとも、新しく定義したクラスを汚染し、場合によっては MRO の問題を引き起こす可能性がありますが、一般にインターフェイス/プロトコルを通じて実装されることが期待される関数など、いくつかの基本的な単一関数を配置します。 、Mixin へモジュールにはまだ良い選択肢があります:
リーリー
実際、全体の理解は、組み合わせによってより多くの機能を取得することに他なりません。これは、「できる」という意味を強調する C# や Java のインターフェースに似ていますが、比較するとはるかに単純であり、必要はありません。明示的な制約とミックスイン モジュールには独自の実装が付属しています。これを使用する場合、通常、mixin クラスは親クラスの右側に配置され、これが典型的な多重継承ではなく、特殊な種類の多重継承であることを強調しますが、基本クラスの継承に基づいており、付随的に複数の多重継承を使用します。継承された関数は、このサブクラスに何らかの特徴を追加し、他の機能を追加します。 Mixin のクラス関数が単一かつ固有であることを確認してください。混合後、新しいクラスの MRO ツリーは実際には比較的単純になり、混乱を引き起こしません。