4

具体的なクラスをインスタンス化し、そのインターフェイスをクライアントに返すファクトリを書きたかったのです。このようにして、クライアントを具体的なクラスに直接依存することから切り離すことができます。しかし、同時に、ファクトリが具体的なクラスに依存することは望ましくありません。リフレクションを使用してニーズを満たすことができますが、そうする前に、これが良い方法であるかどうかを知りたいです。

4

3 に答える 3

10

詳細がないと言うのは難しいですが、通常、ファクトリ実装は、インスタンスを作成している具象クラスに依存していると思います。私の見解では、それは完全に自然な依存関係です。

リフレクションを使用しているため、本質的に付加価値のある非常に一般的なファクトリにしたい場合、つまり、ほとんどのIoCコンテナが行うことのごく一部を実行する場合は、それで問題ありません。しかし、それが1つの特定のタイプのファクトリである場合は、依存関係を取得します。理解とテストがより簡単で、かなり効率的なコードにつながる可能性があります。

于 2012-10-08T06:26:29.770 に答える
0

はい、あなたのアプローチは良い習慣になります。しかし、あなたのために仕事をするフレームワークはすでにあります。MEFフレームワークを参照してください。

于 2012-10-08T06:30:59.527 に答える
0

はい、あなたのアプローチは素晴らしく、問題はありません。ただし、そのために時間を費やすよりも、既存のフレームワークを使用する必要があります。

Spring Framework の IOC モジュールを検討できます。

于 2012-10-08T07:01:15.370 に答える