0

TL;DRコンテナーを使用してランタイムパラメーターをコンストラクターに渡すことは悪い習慣と見なされますか?

例として、実装を使用して動的に構築されたサービス ホストを持つ WCF ソリューションを構築していますServiceHostFactoryBase。このファクトリは私のコンポジション ルートです。Unity にアクセスしてセットアップし、コンテナーを使用してServiceHost. ただし、この ServiceHost はデータベース内の構成にアクセスする必要があり、「constructorString」を使用してこの構成を識別します。

Unity は my のインスタンスを作成する人なのでServiceHost、パラメーターをParameterOverride. しかし、私はそれが好きではありません。パラメータは依存関係ではなく、実行時に検出されるパラメータです。さらにServiceHost「constructorString」も必要とするさらに別のクラスに依存しています。そのため、Unity に頼ってこれを伝えます。

Unity 3 を IoC コンテナーとして使用しています。

4

1 に答える 1