O que significa Domain Driven Design?
Questão
O que significa Domain Driven Design?
Resposta
96%Domain Driven Design (DDD) é uma abordagem de desenvolvimento de software que coloca o domínio do negócio (regras, processos, linguagem e conceitos do problema) no centro do design do sistema, promovendo colaboração contínua entre especialistas do domínio e desenvolvedores para criar um modelo de domínio rico e alinhado ao negócio.
Explicação
DDD (Domain-Driven Design), proposto por Eric Evans, é uma forma de projetar software em que a compreensão profunda do problema de negócio guia as decisões de arquitetura e modelagem.
Principais ideias do DDD:
- Foco no domínio: o software é estruturado a partir das regras e conceitos do negócio, não apenas de aspectos técnicos (banco, telas, etc.).
- Modelo de domínio: representação dos conceitos do negócio no código (ex.: entidades, regras, comportamentos), buscando refletir a realidade do domínio.
- Linguagem Ubíqua (Ubiquitous Language): um vocabulário comum, compartilhado por time técnico e especialistas do negócio, usado em conversas, documentação e no próprio código (nomes de classes, métodos, eventos).
- Bounded Context (Contexto Delimitado): delimitação clara de onde um modelo e seus significados são válidos; diferentes partes do sistema podem ter modelos distintos para o mesmo termo, mas cada um dentro do seu contexto.
Em resumo, DDD significa projetar o sistema a partir do entendimento e da modelagem do domínio, para reduzir ambiguidades, aumentar alinhamento com o negócio e tornar o software mais sustentável e expressivo ao longo do tempo.