реклама
разместить

Domain-Driven Design по фэншую

Памятка для раскраивания предметной области на примере учетной системы.

Распил предмета

Возьмем небольшой кусочек интернет-магазина и попилим его по канону DDD.

Что есть домен? Домен – это сегмент предметной области, состоящий из связанных смыслом бизнес-сущностей и понятий. У домена всегда есть центральная сущность, вокруг которой строится предметно-инструментальная обвязка. Примеры:

  • Заказы – вспомогательная сущность счета (и не только);
  • Контрагенты – вспомогательная сущность договора (и не только);
  • Склад вспомогательная сущность накладные (и не только).

Определите все бизнес-сущности, входящие в границу домена. Не включайте в список компоненты системной оснастки (уведомления, конфигурирование, контроль, безопасность, платформа для оркестровки и т.д.) – это особые универсальные сервисы за пределами парадигмы DDD.

Распил модели данных

После того, как предметная область распилена, следует заняться архитектурой данных.

Для каждого домена проектируем модель данных. Все модели должны быть строго изолированы и локализованы. Ориентируйтесь на аспектный подход при проектировании модели данных бизнес-сущности.

Распил API

Разделите интерфейсы на типы, по характеру использования. Типов интерфейсов к данным может быть несколько, для: фронтенда, бизнес-процессов, интеграции.

Для каждой бизнес-сущности создайте свой набор API. Все интерфейсы должны быть заточены под сценарии управления данными.

Подсказка

Если вы затрудняетесь с разделением в каком-либо слое, то ориентируйтесь на здравый смысл. Вот несколько причин для разделения:

  • Нужно разделить ответственность и владение данными

  • Нужно разделить разработку

  • Необходимость особой технологии

  • Необходимость особого сценария использования

  • Необходимость реализации особой логики

  • Необходимость особого обслуживания

  • Необходимость особых ресурсов

  • Необходимость особых настроек эксплуатации

реклама
разместить
Начать дискуссию
Облачные хранилища для бизнеса: какие бывают и что выбрать в 2025

Объясняем, чем отличаются объектное, блочное и файловое хранилище, и для каких бизнес-задач подходит каждое из них.

Облачные хранилища для бизнеса: какие бывают и что выбрать в 2025
77
реклама
разместить
Архитектура аналитического решения

В статье подробно расскажу, как строится такая архитектура и зачем она нужна маркетологу.

Архитектура аналитического решения
22
Что такое индекс страха и жадности на крипторынке?
Что такое индекс страха и жадности на крипторынке?

Индекс страха и жадности — это индикатор, который измеряет настроение участников криптовалютного рынка. Он выражается в числовом эквиваленте от 0 до 100, где:

22
Какую BI-аналитику нужно собирать в современном интернет-магазине и как это делать

Чем больше интернет-магазин, тем больше данных нужно обрабатывать. И когда Яндекс Метрика уже не помогает — это сигнал, что пора строить BI-систему. Она поможет понять поведение пользователей и быстрее приведет к целям бизнеса.

Какую BI-аналитику нужно собирать в современном интернет-магазине и как это делать
2727
33
33
Мифические 250 человеко-месяцев
Мифические 250 человеко-месяцев
Декомпозиция задач: Как сделать проекты управляемыми и успешными — for Business analyst, Scrum master, Project Managers! 🏆💪💥

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

1010
22
Почему одни объявления на Авито всегда на первом месте, а другие теряются среди конкурентов?
Почему одни объявления на Авито всегда на первом месте, а другие теряются среди конкурентов?
Лучшее — друг хорошего, или Как мы усовершенствовали 1С

Собрали дайджест статей про кастомные механизмы и разработки ALP Group на базе 1С.

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.freepik.com%2Fauthor%2Ffreepik&postId=1703319" rel="nofollow noreferrer noopener" target="_blank">Freepik</a>
33
[]