私はDIを使った2番目の実生活アプリケーションを書いています。全体的に私はそれがより良いデザインにしたと思う。しかし、いくつかのコードの匂いがある、私は解決する方法を知らない。DI:注射する量は?
私はコンストラクタインジェクションを使いたいと思っています。コンストラクタに注入するオブジェクトが5個以上必要になることがよくあります。それは多すぎるようですが、おそらくSRPを正しく取得できないという設計上の問題です。しかし私はDIの私の使用も非難されると思います。
私は "ベストプラクティス"または "経験則"を探していますが、一般的には.Netフレームワークではないすべてのものを注入しているようですが、それはそれを徹底していますか?
私が注入するオブジェクトの2つの例がここにありますが、不明な点があります。
アプリケーション構成や小さなutilクラスのような真のシングルトンであるオブジェクトは、注入しますか? 彼らは非常に頻繁に注射されるようですが、注射する唯一の理由は検査の価値を変えることができるようですが、Ayendeは別の方法で問題を解決したようです:http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx。
ほとんどのオブジェクトで使用されるロギングなどの一般的なオブジェクトは、注入する必要がありますか?
を、あなたのクラスは、全体に依存します他の場所で使うのは難しいでしょう。オブジェクトが気にする設定の特定の部分を注入する方がよいでしょう。 –