Я использовал ручной инсталлятор DI для немного сейчас. Одна вещь, которую я замечаю, заключается в том, что мои конструкторы начинают довольно долго.Инъекция конструктора: Сколько зависимостей слишком много?
У меня есть класс, который зависит от множества маленьких объектов - иногда между 6 и 10. Поскольку я продолжаю разорвать свое приложение на более мелкие куски, я мог видеть, что это число увеличивается с течением времени. Это общая проблема?
Очевидно, что это сильно зависит от проекта. Однако основной вопрос заключается в следующем:
Когда вы начинаете испытывать дискомфорт по количеству зависимостей, которые имеет класс? Какие стратегии вы используете для сокращения этих зависимостей?
Что делать, если вы не можете найти логичный способ группировать их в несколько классов, таких как WW. упоминается? Согласны ли вы с тем, что тогда хорошо, чтобы иметь много зависимостей? Я имею в виду, скажем, зависимости - это марки автомобилей: BMW, OPEL, VW и т. Д. Это все автомобили. Может быть, не лучший пример, но я надеюсь, что вы поняли эту идею. –
@ Darius.V - Если у вас есть класс Cars, который имеет 50 зависимостей бренда, то, очевидно, вы нарушили SRP. Вам нужно сгруппировать их в общие характеристики (например, «ElectricCars», «HybridCars», «DieselCars», «GasolineCars»), поэтому ваш класс «Cars» верхнего уровня содержит только несколько зависимостей, каждый из которых имеет общие свойства и методы. Ниже вы можете использовать [шаблон стратегии] (https://stackoverflow.com/a/31971691), чтобы упростить несколько похожих автомобилей в одну зависимость (например, просто иметь только одну «GasolineCarsStrategy», которая вводится в ваши автомобили класс, который управляет всеми газовыми машинами). – NightOwl888