Лекция 10: Предметно-ориентированное проектирование

Понедельник, 18 апреля 2022
Таймс, ауд. 405

Слайды с лекции

software_design_lecture_180422.pdf

Приложенные файлы

Описание

Эта лекция об очень популярной нынче методологии проектирования объектно-ориентированных систем — предметно-ориентированном проектировании (Domain-Driven Design, DDD). Будут рассмотрены ключевые принципы предметно-ориентированного моделирования:

  • проектирование от предметной области, а не от конкретных приложений;
  • модель предметной области;
  • единый язык, моделирование вслух;
  • изоляция предметной области, четырёхуровневая архитектура приложений.

Также будут рассмотрены основные структурные элементы модели предметной области по DDD:

  • сущность;

  • объект-значение;

  • служба;

  • модуль.

И основные паттерны проектирования модели:

  • Агрегат;
  • Фабрика;
  • Репозиторий;
  • Спецификация.

DDD можно рассматривать как пример методологии, построенной вокруг слоистого и объектно-ориентированного стилей.

Книга, по сути кратким пересказом первой части которой является эта лекция: Эрик Эванс, Предметно-ориентированное проектирование. Структуризация сложных программных систем. М., Вильямс, 2010, 448 стр. Must read если не для каждого программиста, то для каждого, кто претендует на позицию архитектора в будущем.