Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

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

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

Сначала рекомендуем пройти курс: 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

    Мутация

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

    теория   тесты   практика  
  • Course completed

  • Практика после курса

    В некоторых курсах есть практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. В этом курсе таких заданий нет, но вы можете посмотреть задания из других курсов.

Подробнее о курсе

Учащихся
315
Сообщений
124
Упражнений
0
Часов
8