Після місяця чи близько місяця читання та дослідження DDD я вирішив розпочати власний проект і створив DDD із цими обмеженими контекстами>
- Клієнти
- Продукція
- Замовлення
- Рахунки
Кожен обмежений контекст містить API відпочинку як презентаційний шар, доменний рівень, стійкий шар.
Поки добре, код працює безперебійно, але виходячи з монолітного світу, я все ще намагаюся з'ясувати наступне:
- коли я хочу створити нового клієнта, видати новий рахунок-фактуру, створити новий порядок, який я хочу, наприклад, список країн для доступу. Чи повинен я:
а) створити перелік країн у кожному БК
б) створити API BC -> і використовувати його для отримання списку доступних країн
в) використовувати сторонній API та витягувати дані через антикорупційний шар у кожному БК
- під час інтеграції з стороннім API за допомогою антикорупційного шару або адаптерного шару, які дані потрібно включити до моєї моделі домену? Наприклад, якщо я хочу інтегрувати API zendesk з клієнтом BC. Чи потрібен мені лише квиток ID у своєму домені, або мені потрібно витягти всі дані із Zendesk, до яких я хочу отримати доступ та використовувати їх у клієнті BC?
Якщо мій додаток MVC насправді отримує дані з API (шари презентації моїх обмежених контекстів), мені дуже важко чітко визначити межі кожного БК. Чи означає це, що правильно розроблений БК обслуговуватиме один контролер MVC, не потребуючи додаткових API?