Я довольно новичок в IoC и DI, и я не могу найти точные сценарии, в которых я НЕ должен его использовать.
Имеет смысл использовать его в тех местах, где, как я знаю, есть вероятность расширения, таких как ведение журнала (ведение журнала на основе файлов, ведение журнала в базе данных и т. Д.) Или использование источника данных (тестирование, производство и т. Д.).
Но что меня смущает, так это то, что я могу иметь сотни классов в большом проекте, если я буду использовать IoC / DI для всех из них, это облегчает управление кодами / сопровождение / модульное тестирование? Помогает ли это только SoC для таких классов?
Аналогично, если я точно знаю, что класс всегда будет создавать объект другого класса, например, у клиента всегда будет адрес, в таких случаях мне следует использовать DI? Будет ли плохой практикой не использовать DI в таких случаях?
Мы собираемся начать большой проект с использованием ASP.Net MVC3, является ли Unity хорошим выбором?
Спасибо,
Али