Если вы не используете внедрение зависимостей, то почти наверняка вы не используете фреймворк для своих модульных тестов или, возможно, вообще не проводите модульное тестирование. Одна из приятных сторон модульного тестирования заключается в том, что со временем он заставит вас использовать более совершенные шаблоны проектирования, включая внедрение зависимостей. Если вы этого не сделаете, вам будет очень сложно протестировать ваш код.
Вопрос о том, нужно ли изучать использование DI-фреймворка для приложений вашего размера, остается открытым вопросом. Добавление любого внешнего кода в ваш проект добавит некоторых сложностей, и, честно говоря, я не нашел его достаточно привлекательным для моих проектов - пока. В то же время, тем не менее, в какой-то момент я создавал все свои фиктивные объекты вручную и, после перехода на RhinoMocks, я редко использую фиктивные объекты и чувствую, что моя производительность повысилась. Контейнеры DI - это следующая технология в моем списке, которую я хочу изучить, но у меня пока нет проекта, чтобы опробовать его.
Мое предложение, так как вы, кажется, открыты для него, было бы попробовать пару структур DI и посмотреть, насколько хорошо они работают для вас. Если вы не нашли достаточного значения, попробуйте выполнить ручную инъекцию - если вы не достигли этой точки, если да, вернитесь к ней.