私たちが取り組んでいるプロジェクトでは、Castle Windsor を IOC コンテナーとして使用しています。現時点では、柔軟性のために構成ファイルですべての依存関係を指定しています。
私たちの構成ファイルは少し大きいので、バインディングをより簡単に管理できるようにするために、それらをコードに入れることを好みます。もちろん、これは、本番環境で特定のバインディングを簡単に変更する柔軟性が少し失われることを意味します。
構成ファイルのバインディングでコードのバインディングを上書きできるかどうか疑問に思っていました。これは、コードですべての既定のバインディングを指定し、運用環境でバインディングを変更する場合に、いくつかの例外を除いて構成ファイルを追加できることを意味します。
ウィンザー城を使っているので、ウィンザー城でこんなことができるのか興味があります。ただし、別の IOC コンテナー (NInject など) への移行を検討しています。したがって、別の人がそのようなことをはるかにうまく行うことができる場合、私はその情報にも興味があります.
(PS: 私たちのインターフェースのほとんどは単体テストの目的であり、同じ名前から "I" を除いた名前でそれを実装するクラスが 1 つしかないため、自動バインディングも検討しています。これらのインターフェースを配置することも検討しています。実装と同じファイルです。)
前もって感謝します。
アップデート
私は、私が望む方法で自動バインディングを行うことができる素晴らしい Ninject 拡張機能を見つけました。また、XML バインディングを行うための Ninject 拡張機能も見つけました。ただし、これらの XML バインディングがコード バインディングで上書きされるかどうかはわかりません。