Senior
O que é DCI?
sobes.tech IA
Resposta da IA
DCI (Data-Context-Interaction) é um padrão arquitetónico que divide o sistema em três partes principais:
- Dados: Objetos que representam entidades do domínio (por exemplo,
User,Account). Contêm estado, mas não conhecem a lógica de negócio. - Contexto: Reúne os dados necessários e liga-os a papéis numa transação específica. O contexto sabe quais objetos desempenham quais papéis.
- Interação: Papéis que definem a lógica de negócio aplicada aos dados no contexto. Ações específicas que podem ser realizadas sobre os dados numa situação determinada.
O DCI foca em como as pessoas pensam na interação de objetos num cenário específico, não apenas na organização estrutural dos dados. Destina-se a tornar a lógica de negócio mais explícita e fácil de ler.
Exemplo: Transferência de dinheiro entre contas.
- Dados:
Account(estado: saldo) - Contexto: "Transferência de dinheiro", que liga dois objetos
Accountcom os papéis de "Fonte" e "Destino". - Interação: Papéis "Fonte" (método
withdraw) e "Destino" (métododeposit). Lógica de negócio: verificar fundos disponíveis, modificar saldos.
Principais vantagens do DCI:
- Melhor legibilidade do código: A lógica de negócio torna-se mais expressiva e fácil de seguir.
- Melhor compreensão do domínio: O padrão reflete as interações reais entre objetos.
- Maior flexibilidade: Novas interações podem ser adicionadas sem modificar os objetos de dados existentes.
- Redução da complexidade: Foca em transações curtas e isoladas.
O DCI pode ser implementado com diferentes linguagens de programação, embora algumas linguagens sejam mais adequadas ao seu suporte (por exemplo, Scala com traits).