Дайджест по DDD и архитектуре
Ребята и девчата, за последние пару недель в канале вышло много полезных постов по теме DDD и архитектуры.
Собрал навигацию в нашем телеграм-канале, чтобы не потерялись и было понятно, в каком порядке читать. Ссылка на дайджест: https://t.me/yellowclub_official/1491
🟡 Почему форма, объект метаданных, бизнес-объект и хранение — это не одно и то же
Большая проблема 1С-разработки в том, что платформа приучает нас думать так:
форма = объект метаданных = бизнес-объект = хранение в базеДля простого CRUD это нормально.
Но для большой системы с бизнес-логикой — уже нет.
Отсюда появляются справочники на 100 реквизитов, огромные формы и код, который все боятся менять.
🟡 Что такое стратегический DDD
В DDD два уровня: тактический и стратегический.
Стратегический DDD отвечает на вопрос «как правильно разложить предметную область», а не «как написать код».
Например, слово «Контрагент» может быть одним и тем же в интерфейсе пользователя, но в контексте продаж, бухгалтерии и сервиса — это разные бизнес-смыслы.
🟡 Почему внешний API не должен становиться языком вашей системы
Если внешняя система присылает sender, address, cityId — это ее язык.
Внутри нашей системы должны быть свои понятия: Отправитель, Адрес, ИдентификаторГорода.
Это не вопрос латиницы или кириллицы, а вопрос границы между внешним контрактом и внутренней моделью.
🟡 Что читать по теме DDD
1) Эванс — классика. Читать можно, но тяжело для восприятия
2) Влад Хононов, Learning Domain-Driven Design — намного лучше в качестве первой книги по этой теме. Проще читается, больше прикладного смысла, лучше примеры
3) Параллельно можно читать «Чистую Архитектуру» Мартина.
🟡 Практический пример: система уведомлений по документам в ERP
Разобрал задачу: пользователи должны получать уведомления, когда с документами происходят важные события.
Классический путь — начать с метаданных.
Я же считаю, что начинать нужно со сценариев, фактов и бизнес-правил.
Форма, бизнес-логика и хранилка должны быть разделены.
===========================
Если только подключаетесь к теме — начните с первого поста.
Если хочется практики — смотрите пример с ERP-уведомлениями.
Дальше двигаюсь к стриму по DDD.
Поставьте какую-нибудь реакцию, если тема актуальна и вы хотите продолжения.
