私はPHPアプリケーションを作成しましたが、PHPではうまく解決できない問題があります。そこで、RubyまたはPythonに移植することを考えています。これまで使用したことのない2つの言語です。私が見た限りでは、この問題はRubyで解決できます。私の質問は、Pythonでも解決できるかどうかです。
アプリケーションのコアには、拡張したいクラスAがあります。メソッドdoFooによってAを拡張する1つの拡張E1と、メソッドdoBarによってAを拡張する1つの拡張E2があります。ここで、A、E1、またはE2のコードを変更せずに両方の拡張機能を使用したいと思います。PHPでは、これは3番目の拡張機能E3を作成することでアーカイブできます。これは、Aを拡張し、E1とE2を特性と混合するクラスBを提供するか、その他の汚いトリックです。しかし、私はコアを持ち、これらの2つの拡張機能を持ち、構成に情報を持ちたいと思っています:「拡張機能E1とE2を使用する」すべてをまとめるクラスをこれ以上必要とせずに(そして__call()を使用せずに) )。
Pythonでそれはどうにか可能ですか?実行時に変更できるプロトタイプは本当に必要ありません。Aのすべてのインスタンスには、doFooとdoBarが必要です。
編集:すべてが拡張機能なしで、E1のみ(E2なし)、E2のみ(E1なし)、および両方の拡張機能で機能するはずです。