Domain Driven Design - от требований до кода (Максим Цепков на SECON-2014) — различия между версиями
Maksiq (обсуждение | вклад) |
Maksiq (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Максим Цепков - http://www.facebook.com/mtsepkov | Максим Цепков - http://www.facebook.com/mtsepkov | ||
− | Доклад на конференции [http://2014.secon.ru SECON] в Пензе. | + | Доклад на конференции [http://2014.secon.ru SECON] 14.03.2014 в Пензе. |
= Тезисы = | = Тезисы = | ||
Строка 12: | Строка 12: | ||
[[Файл:Tsepkov-SECON-2014-DDD.pdf|left|page=-|256px]] | [[Файл:Tsepkov-SECON-2014-DDD.pdf|left|page=-|256px]] | ||
− | |||
= Обо мне = | = Обо мне = |
Текущая версия на 11:47, 16 марта 2014
Максим Цепков - http://www.facebook.com/mtsepkov
Доклад на конференции SECON 14.03.2014 в Пензе.
Тезисы
Domain Driven Design (DDD) — подход, предложенный Эриком Эвансом для эффективного проектирования и реализации приложений в сложных предметных областях. Основой его является создание модели будущей системы на едином языке (ubiquitous launguage), разрабатываемом для проекта и обеспечивающим надежные коммуникации между всеми участниками проекта. Модель, описанная на этом языке, согласуется с бизнес-заказчиком и верифицируется им, а затем отражается в реализацию системы с использованием типовых шаблонов, так что элементы и конструкции модели могут быть прослежены в коде. Таким образом обеспечивается соответствие поведения готовой системы потребностям заказчика, без чего сложные IT-проекты едва ли могут стать успешными.
В докладе будет дан общий обзор DDD на основе многолетнего успешного опыта его применения для разработки приложений — от построения модели с формированием единого языка до выработки шаблонов реализации типовых элементов модели.
Презентация
Обо мне
Я верю, что автоматизация дает новые возможности для развития. Создавая автоматизированные системы, мы открываем путь прогрессу и делаем мир лучше. Проектирование архитектуры реальных систем, особенно в заказной разработке, — интереснейший процесс поиска баланса между общими архитектурными подходами и реализацией специфических требований конкретного проекта. Я разрабатывал архитектуру для множества систем и нескольких фреймворков.
Я верю в эффективность командной работы и профессиональных сообществ и категорически не согласен рассматривать людей как ресурсы. Командная работа необходима и в проектировании архитектуры, вопреки распространенному мнению, что этим должен заниматься единоличный творец. По моему опыту, лучшие архитектуры создавались совместно сильными архитекторами, хотя договариваться было не просто. Я внимательно слежу за трендами развития отрасли, включая управление проектами, и стараюсь формировать целостную картину. Мне нравится делиться своими взглядами в профессиональных сообществах, выступая на конференциях и работая в программных комитетах конференций SECR и Analyst Days.