Holy Python
498 subscribers
28 links
Станьте "папой" питона!
Download Telegram
#DDD

Введение

Похоже придётся написать пост про это. DDD - набор принципов, направленный на создание оптимальных систем объектов. Так как это не образовательный пост, а скорее пост, "на подумать" и о формирование вашего стека(неориентированный на новичков), я не буду вдаваться в подробности, вы можете сами почитать, что это. Сегодня мы обсудим полезность и реалистичночть DDD, с точки зрения времени на изучение, бизнеса реализации и сопровождения/поддержки.

Время на изучение

Времени на изучение DDD требуется невероятно много, тема крайне обширная и сложная. Чтобы полностью разобраться в DDD, придётся прочитать массу сложных статей и книг. В следствие данных факторов, мы видим крайний недостаток кадров. Кроме того перед изучением DDD, очевидно нужно понимать принципы построения архитектуры, принципы SOLID, CA и т.д. Что ещё усложняет ситуацию.

Реализация и сопровождение

Реализация проекта полностью используя DDD, очевидно требует огромного количества времени и специалистов. При этом сопровождать такой проект сможет только специалист понимающий DDD, без этого все разрушиться. Следовательно сопровождение не является простым.

Кроме того, после изучения нескольких научных журналов и ресурсов, где публикуются статьи, не было обнаружено хотя бы одного исследования, которое подтверждает эффективность и полезность данного подхода, в крупных проектах.

Бизнес

С учётом выше указанных факторов, бизнес очевидно не будет выбирать для себя DDD. Время разработки - выше, требуется больше знаний, сопровождение будет требовать особых навыков, кроме того, зачастую уже есть какая-либо более простая архитектура, которую в DDD быстро превратить очевидно нельзя. После опроса сотрудников крупных Российских и зарубежных компаний, я не смог найти ни одну, где DDD используется полностью.

Выводы

DDD, даже с учётом приличного возраста имеет массу проблем и не подходит для большинства.

Но, хочу отметить, что в данном подходе, есть реально полезные идеи, которые можно применить при проектировании классической гексагональной архитектуры, что может реально принести пользу, поэтому полностью отметать его не стоит. Хотя также не желательно устанавливать его как номер 1 в списке, желаемого для изучения.
👍15👎91🔥1