3
依存性注入を使用する場合、1つのクラスで許容できる注入の数
依存関係の注入にUnityをC#で使用していますが、この質問は、依存関係の注入を使用しているすべての言語とフレームワークに適用できます。 私はSOLID原理に従うようにしているので、多くの抽象化を得ました。しかし今、私は、1つのクラスが何回の注入を注入すべきかについてのベストプラクティスがあるかどうか疑問に思っていますか? たとえば、9つの注入があるリポジトリがあります。これは他の開発者にとって読みにくいでしょうか? 注射には次の責任があります。 IDbContextFactory-データベースのコンテキストを作成します。 IMapper-エンティティからドメインモデルへのマッピング。 IClock-DateTime.Nowを抽象化して、単体テストを支援します。 IPerformanceFactory-特定のメソッドの実行時間を測定します。 ILog-ロギング用のLog4net。 ICollectionWrapperFactory-コレクションを作成します(IEnumerableを拡張します)。 IQueryFilterFactory-dbをクエリする入力に基づいてクエリを生成します。 IIdentityHelper-ログインしたユーザーを取得します。 IFaultFactory-異なるFaultExceptionsを作成します(私はWCFを使用しています)。 私が責任を委任した方法に本当にがっかりしているわけではありませんが、読みやすさが気になり始めています。 だから、私の質問: クラスに必要な注射の回数に制限はありますか?もしそうなら、それを避ける方法は? 多くの注入は読みやすさを制限しますか、それとも実際にそれを改善しますか?