Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки.
- TDD — ну, это все знают, сначала пишем тесты, а потом остальной код.
- BDD — что-то знакомое, вроде как, тоже тесты, но особенные.
- TDD — снова? Так, стоп, тут речь уже не о тестах совсем. Но почему называется так же?
- DDD — bound contexts, ubiquitous language, domain...
- FDD — да сколько можно?
- MDD — cерьезно, на основе диаграмм?
- PDD — ...
Подходы к разработке делятся по сложности, областям применения и целям.
Думаю, настало время разобраться, зачем же они нужны, почему их так много, и как они могут быть нам полезны.
Мы начнем знакомиться с ними от самых простых до довольно сложных, рассмотрим примеры использования и плюсы и минусы каждого из них.