私は私の場合のStructureMapには、IoCコンテナによって返されるアプリケーションの一部のためのファサードを定義すると思っています。ファサードにはデフォルトの実装を設定する引数のないコンストラクタがあり、別のものはファサードが管理するさまざまなサブシステムオブジェクトのカスタム実装を定義することができます。のStructureMapとファサード
のStructureMapは、ほとんどの引数を持つコンストラクタを呼び出すファサードのインスタンスを作成しようとしているので、他のサブシステムのない実装が登録されていない場合は、それが失敗します。
私の質問は:それはメインのいずれかを使用できない場合の行に次のコンストラクタを使用しようとするのStructureMapを伝える方法はありますか?または、どのコンストラクタを選択するかをStructureMapに指示する必要がありますか?私の知る限り
たぶん、サンプルコードのビットは、いくつかの可視化を支援します。 – IAbstract
可能であれば、常に引数を持つコンストラクタが1つあります。型を初期化するデフォルトのコンストラクタを作成しないでください。このようにして、あなたの型は依然として具体的な依存関係と密接に結びついています。 StructureMapにその仕事をさせてください。 – Steven
引数を持つ単一のコンストラクタを持つことは、まだ一握りですが、この場合はファサードを持つという目的をほとんど破ります。少しのサンプルを追加することについては、本当に必要かどうかわかりませんが、結局、私の質問には多くのコードは必要ありません。複数のコンストラクタを持つクラスを持つ場合、StructureMapは引数が大きい場合は最初のものを選択しますが、例外の場合には他のコンストラクタを何らかの形で使用することができますか? – Neverbirth