Você está na página 1de 2

Domain Driven Design

Created @January 29, 2024 7:08 AM

Class Arquitetura de Sistemas

Type Aula

Finished

Domain-Driven Design (DDD) é uma abordagem de design de software que se


concentra na modelagem do domínio do negócio para criar sistemas mais eficientes e
eficazes. Foi introduzido por Eric Evans em seu livro "Domain-Driven Design: Tackling
Complexity in the Heart of Software" (Design Orientado a Domínio: Lidando com
Complexidade no Coração do Software).
A ideia central do DDD é que a complexidade inerente aos sistemas de software está
principalmente relacionada ao domínio do problema (o conjunto específico de
conhecimentos, regras e processos de negócios em questão). Portanto, ao entender
profundamente o domínio do problema, os desenvolvedores podem criar modelos de
software mais alinhados com as necessidades reais do negócio.
Domínio diz respeito ao negócio, o conjunto de regras e necessidades que vai ditar a
funcionalidade daquele software.
Design não diz respeito à uma interface, mas sim um modelo que represente aquela
realidade de um modo que o Domínio possa ser estudado e analizado em função do
projeto.

Domínio
Negócio da sua empresa / Assunto do Projeto

Subdomínios:

1. Core: A principal parte do domínio que possui as regras e casos da empresa em si.

Domain Driven Design 1


2. Supporting: Partes do domínio que giram ao redor do core, também tem regras do
negócio.

3. Generic: Uma parte do domínio que não é específico para aquele caso e que é
igual ao de outros domínios.

Agentes do Domínio:

Domain Expert

Especialistas no negócio.

Desenvolvedores

O elemento mais importante em um projeto de software é entender


o problema, pois, por melhor que seja a nossa implementação,
se não entendermos os requisitos de negócio, será impossível
atingir o nosso propósito.

Exemplo:
Se uma empresa da area da saúde pede um aplicativo de gestão/administração, o
domínio não está relacionado a saúde, e sim a automação e controle de fluxos.

Exemplo:
Se um ecommerce pede um sistema para gerenciar pedidos, a gestão é o domínio, o
subdominio core é o gerenciamento do pedido, um exemplo de subdomínio suppoirting
seria rastrear pedido, um exemplo de generic seria a autenticação de usuários ou o
pagamento.

Domain Driven Design 2

Você também pode gostar