Я використовую Unity в C # для введення залежності, але питання повинно бути застосовано до будь-якої мови та структури, де використовується ін'єкція залежності.
Я намагаюся слідувати принципу SOLID, і тому я отримав багато абстракцій. Але зараз мені цікаво, чи є найкраща практика щодо того, скільки ін’єкцій слід зробити одному класу?
Наприклад, у мене є сховище з 9 ін’єкціями. Чи буде це важко прочитати іншому розробнику?
Ін'єкції виконують наступні обов'язки:
- IDbContextFactory - створення контексту для бази даних.
- IMapper - картографування від об'єктів до моделей домену.
- IClock - Тези доповідей DateTime.Сега допомогти з одиничними тестами.
- IPerformanceFactory - вимірює час виконання конкретних методів.
- ILog - Log4net для ведення журналів.
- ICollectionWrapperFactory - створює колекції (що розширює IEnumerable).
- IQueryFilterFactory - генерує запити на основі вхідних даних, які будуть запитувати db.
- IIdentityHelper - вилучає зареєстрованого користувача.
- IFaultFactory - Створюйте різні FaultExceptions (я використовую WCF).
Я не дуже розчарований тим, як я делегував свої обов'язки, але я починаю хвилюватися за читабельність.
Отже, мої запитання:
Чи існує обмеження на кількість ін'єкцій, які повинні мати клас? А якщо так, то як цього уникнути?
Чи багато ін'єкцій обмежують читабельність чи це насправді покращує її?