Народ, я только что странную мысль придумал: tdd, bdd, rdd (readme driven development) и ddd - это вообще об одном и том же, только разными инструментами. При этом, каждый является своеобразной абстрактной основой для следующего dd подхода.
Интересно узнать в чем я не прав и на сколько уже головой поехал
Вообще ты прав, в основе всего этого лежит взгляд на решение задачи отталкиваясь в первую очередь от её смысловой стороны, не технической. Сначала ковыряем домен, извлекая ubiquitous language. На основе языка описываем контексты, сущности и их поведение, переходя постепенно к более строгому описанию в bdd. bdd в сущности частный случай tdd, который и вообще должен быть ему тождественным в рамках ddd. нормальное тдд а не просто юнит-тестирование очень близко к бдд и в общем-то никто не мешает писать спеки на сугубо технические вещи типа ioc. #drunkmode