PRO курс

JS: Предметно-ориентированное проектирование

223 сообщения в сообществе 643 учащихся

Описание

Курс посвящен процессу создания программных абстракций — моделей предметных областей. На примере разработки онлайн-системы для продажи билетов в кинотеатр, мы рассмотрим выделение правильных сущностей, нахождение связей между ними, и поговорим о предметно-ориентированном проектировании, инверсии контроля, принципе инверсии зависимостей, конечных автоматах.

Пререквизиты

JS: Автоматное программирование

Уроки курса

  • 1

    Введение

    Познакомиться с курсом и ответить на вопрос: какая у программиста основная задача в работе? Рассмотреть проект, работа над которым будет проходить в течение всего курса.
  • 2

    Use cases

    Рассмотреть UML и понятие use case. Выделить use cases в нашем проекте.
  • 3

    Сущности и связи

    Понять, что такое сущности и связи между сущностями. Выделить сущности в рассматриваемой нами системе, описать их свойства.
  • 4

    Архитектура

    Познакомиться с несколькими важными аспектами архитектур и рассмотреть стандартные, принятые в индустрии подходы к проектированию систем.
  • 5

    Валидация

    Познакомиться с темой валидации, рассмотреть пример использования библиотеки validation.js и добавить валидацию в нашу систему.
  • 6

    Dependency Injection Container

    Познакомиться с идеей инверсии зависимостей и внедрения зависимостей. Рассмотреть паттерн Service locator и перейти к DI Container как к самому продвинутому решению.
  • 7

    Предметная область

    Понять, что такое Domain-Driven Design (предметно-ориентированное проектирование) и ограниченный контекст.
  • 8

    Мутация

    Рассмотреть сценарий изменения сущности и выявить первое правило мутации: «не мутируй!». Взглянуть на несколько примеров изменений в нашей системе.

Автор

Кирилл Мокевнин

Сооснователь и технический директор образовательного проекта Hexlet. Соорганизатор конференции Nastachku.ru. В прошлом руководил филиалом undev.ru в Ульяновске, а до этого работал в Qik (Skype). Создает инженерную культуру в компаниях и несет в массы XP, DDD и DevOps. Евангелист ментального программирования.

Впечатления

Хочу сказать, что охре.... задание, офигенное задание!!! Спасибо!

продолжительность
20 часов
награда
50 баллов
Получить доступ к курсу