私は短期間 Ninject を使用しており、Unity で app.config/web.config エントリを使用して行ったことを行う方法を理解しようとしています。
私はこれが単純であると確信しています.それを実装するための最良の方法を見つけていないだけです.もちろん、Ninjectには最高のドキュメントがありません.
コードを変更せずに、インターフェイスのさまざまな実装が必要です。特定のアプリケーションは、使用する実装を認識しています。
たとえば、Unity を使用していたときは、ライブ アプリと単体テスト ライブラリがあり、異なるデータ ライブラリを使用していました。そう:
var repo = IoC.Get<IRepository>();
RealRepository
ライブアプリではa を返し、FakeRepository
単体テストでは a を返します。app.config または web.config でクラスをマップするだけです。
Ninjectでは、コードでマッピングを定義するため、コードを除いて、使用する実装(またはモジュール)を決定する方法はないようです-しかし、もちろん全体の目的は私がしたくない使用したい実装を具体的に述べる必要があります。
これを行う良い方法はありますか?私が考えることができる唯一の方法は、構成ファイルから NinjectModule 実装を動的に選択することですが、それは正しくありません。