Skip to content
hexlet-componentsPublic

About

Domain Driven Development

Resources

Stars

1 star

Watchers

7 watching

Forks

Repository files navigation

js-ddd

Пример предметной модели в духе Domain Driven Design: кинотеатр с залами, сеансами, билетами и деньгами.

Зачем это нужно

Показать, как раскладывается предметная область, когда она перестаёт помещаться в один файл. Слои разведены намеренно:

  • models/ — сущности предметной области с их правилами;
  • repositories/ — хранение и поиск, отдельно от правил;
  • services/ — сценарии, которые складывают сущности в осмысленное действие («продать билет», «создать сеанс»);
  • lib/ — общая обвязка.

Ценность примера в границах между слоями: сущность не знает, где её хранят, а сценарий не лезет внутрь сущности.

Запуск

make install
make test

Начинать чтение стоит с src/services: там видно, из чего собирается сценарий.


Hexlet Ltd. logo

This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.

About

Domain Driven Development

Resources

Stars

1 star

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages