O que domain-driven-design faz?
Modele o software em torno do domínio de negócios usando contextos delimitados, agregados e linguagem ubíqua. Use quando o usuário mencionar "modelagem de domínio", "contexto delimitado", "raiz de agregado", "linguagem ubíqua", "camada anticorrupção", "mapeamento de contexto", "eventos de domínio" ou "design estratégico". Também acione ao dividir um monólito em serviços, definir limites de microsserviços ou alinhar a estrutura de código com processos de negócios. Abrange entidades versus objetos de valor, eventos de domínio e estratégias de mapeamento de contexto. Para camadas de arquitetura, veja clean-architecture. Para complexidade, veja software-design-philosophy.