Персональные инструменты
 

Тренинг Андрея Бибичева по «DDD» (2010-03-03)

Материал из CustisWiki

Перейти к: навигация, поиск

Аннотация

Докладчик
Андрей Бибичев

Запись тренинга по «DDD»-темам, включая Domain Driven Design, Feature Driven Design, и т.п.

Содержание:

  • Интерактивный практикум по моделированию предметной области
Выполнение участниками упражнения на «слепо-глухо-немое» UML-моделирование не записано.
  • Варианты архитектуры для реализации с обсуждением плюсов и минусов каждой и ответами на вопросы
    • беглый обзор базовых шаблонов реализации доменной модели (Entities, Value Objects, Repositories, Factories, Services, Aggregates)
    • три основных варианта архитектуры (Anemic Domain Model, Rich Domain Model, Pure Domain Model), а также другие альтернативы:
      • представление ссылок в модели: Id, типизированная ссылка на объект, Lazy-ссылка
      • транзакционность: Unit-of-work или Active-record или сообщения
    • использование DSL и метаданных
    • важные, но недооцененные темы: разграничение прав доступа, универсальный GUI и API, …

Большая часть материала должна быть понятна и полезна так же для .Net-разработчиков.

В тренинге есть:

  • здравая доля ненапрягающего интерактива;
  • примеры кода;
  • авторское мнение по поводу различных подходов и архитектур с указанием альтернативных точек зрения;
  • раздаточный материал.

Собственно более краткая, трехчасовая версия тренинга была успешно проведена на Мастер-класс “Domain-Driven Design for Java Developers” (конференция AgileBaseCamp), это более длинная, directors-cut версия (тренинг проводился два дня).

Исторически, это развитие и продолжение тем, ранее поднятых Андреем на софтверных конференциях:

Видео


Слайды

Ссылки и примечания

Литература, рекомендуемая для предварительного самостоятельного изучения:




Репликация: База Знаний «Заказных Информ Систем» → «Тренинг Андрея Бибичева по «DDD» (2010-03-03)»

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».