PRO курс

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

276 сообщений в сообществе 722 учащихся

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

Подготовительный курс

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. Программирует с 2007 года. За это время прошел путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков. Программирует на языках: elixir, clojure, javascript, php, ruby. Со-организатор конференции nastachku.ru. Вимер. Топит за DevOps и автоматизированные тесты.

Впечатления

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

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