Domain Driven Design - от требований до кода (Максим Цепков на SECON-2014)

Материал из MaksWiki
Версия от 18:00, 22 августа 2020; MaksTsepkov (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск
Выступление на SECON-2014 в Пензе 14.03.2014
Доклад на сайте конференции
Презентация на slideshare
Видео https://youtu.be/M1S0Ivjs2Oc

Аннотация

Domain Driven Design (DDD) — подход, предложенный Эриком Эвансом для эффективного проектирования и реализации приложений в сложных предметных областях. Основой его является создание модели будущей системы на едином языке (ubiquitous launguage), разрабатываемом для проекта и обеспечивающим надежные коммуникации между всеми участниками проекта. Модель, описанная на этом языке, согласуется с бизнес-заказчиком и верифицируется им, а затем отражается в реализацию системы с использованием типовых шаблонов, так что элементы и конструкции модели могут быть прослежены в коде. Таким образом обеспечивается соответствие поведения готовой системы потребностям заказчика, без чего сложные IT-проекты едва ли могут стать успешными.

В докладе будет дан общий обзор DDD на основе многолетнего успешного опыта его применения для разработки приложений — от построения модели с формированием единого языка до выработки шаблонов реализации типовых элементов модели.

Доклад является развитием доклада DDD: проблемы и решения в отражении модели предметной области в код (Максим Цепков на Software People 2013)

Видео

Слайды

Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf Tsepkov-SECON-2014-DDD.pdf

Персона

MaksTsepkov-1.jpg

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

Я верю в эффективность командной работы и профессиональных сообществ и категорически не согласен рассматривать людей как ресурсы. Командная работа необходима и в проектировании архитектуры, вопреки распространенному мнению, что этим должен заниматься единоличный творец. По моему опыту, лучшие архитектуры создавались совместно сильными архитекторами, хотя договариваться было не просто. Я внимательно слежу за трендами развития отрасли, включая управление проектами, и стараюсь формировать целостную картину. Мне нравится делиться своими взглядами в профессиональных сообществах, выступая на конференциях и работая в программных комитетах конференций SECR и Analyst Days.