Re[4]: О "наивном" DI и об архитектурном бессилии
От: Lexey Россия  
Дата: 29.07.16 17:44
Оценка: 7 (2) +6
Здравствуйте, Sinix, Вы писали:

S>В самых тяжёлых случаях — moq/ms fakes/NSubstitute etc. Во всех остальных проще и дешевле использовать интеграционные тесты. Те же юнит-тесты, только вся инфраструктура уже заведена и доступна к использованию.


Может у тебя специфика такая. У меня, как правило, ситуация обратная. Юнит-тесты писать проще и дешевле, чем интеграционные. И исполняются они на порядки быстрее. А бывало и так, что хороший интеграционный тест в принципе невозможен. И самое интересное вылезает в процессе пуско-наладки.

S>Оно хоть и немного гемморойней на начальном этапе, но зато в итоге не будет такого, что тесты зелёные, а вот работать — упс.


В идеале хорошо и то и то иметь зеленым.

S>Я ж выше писал Большие проекты с необходимостью поддерживать плагины от сторонних разработчиков. Вот там DI творит чудеса. Самый простой пример — расширения студии. Сравни число расширений для кода, который подрубается через MEF (редактор по сути) и то, для чего нормальное API только в процессе (lang services, debugging api etc).


ИМХО, DI-контейнеры — это все-таки весьма частный случай DI, а не его родная ниша. Простейший DI (в виде передачи функции или объекта в другую) существовал задолго до того, как начали массово лепить контейнеры везде, где только можно (и чаще всего не нужно). Только никто его так не называл.
"Будь достоин победы" (c) 8th Wizard's rule.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.