3

依存性注入を使用して MVC サイトを実装しています。エラーが発生する可能性のあるビュー モデルがあります。これらのエラーを関連するコントローラーに伝える最善の方法は、いくつかのカスタム例外をスローすることだと考えていました。

私の問題: 発生したエラーに関する情報をログに書き込む共通の基本クラスからこれらの例外を派生させたいと考えています。しかし、ここでは DI を使用しているため、ログ オブジェクトは IoC コンテナーによって構築および制御されます。これまで、ロギングが必要だったすべてのオブジェクトは、IoC コンテナによって構築および初期化されました。ただし、これらの例外はオンザフライで作成されます。

これに対処する最も一般的な方法は何ですか?ExceptionFactory クラスを作成し、ロガーを挿入し、ビュー モデルに挿入する方法を確認できます。しかし、それはあまり IoC っぽいものではないようです。

この状況に対処するための一般的なイディオムはありますか?

4

2 に答える 2

0

この目的のために、デコレーターまたはインターセプターを使用できます。

ロギングまたはエラー フィルターは分野横断的な問題であり、それらをコントローラーに書き込んでもペナルティや問題はありません。

また、それらを必要なものに注入することもできます。

すべてが IOC 風である必要はありません。それが機能する限り、それは問題ないはずです。

于 2013-10-28T21:08:05.780 に答える