Pular para o conteúdo principal

Questão de Engenharia de Software — DDD (Domain-Driven Design) — CESPE / CEBRASPE 2025

Engenharia de SoftwareDDD (Domain-Driven Design)
Código
ce417759
Banca
CESPE / CEBRASPE
Órgão
TRF 6
Ano
2025
Cargo
AJ TRF6

Julgue o item a seguir relativo à arquitetura de microsserviços, ao domain-driven design e a design patterns.

 

Aplicação de padrões como Aggregates e Value Objects, no domain-driven design, visa a desacoplar o domínio de negócio do modelo de domínio, permitindo que a lógica de negócio seja isolada em camadas técnicas.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Domain-Driven Design (DDD): Aggregates e Value Objects

Gabarito: Errado (E). A afirmativa está incorreta porque os padrões Aggregates e Value Objects, no DDD, visam justamente o oposto do que foi dito: eles buscam acoplar o modelo de domínio ao domínio de negócio, encapsulando a lógica de negócio dentro do próprio modelo, e não isolá-la em camadas técnicas. O DDD centra o desenvolvimento na programação de um modelo de domínio rico, que represente fielmente os processos e regras do negócio.

O Domain-Driven Design (DDD) é uma abordagem de desenvolvimento de software que coloca o domínio de negócio no centro de todo o processo. O domínio é o conjunto de atividades e áreas de interesse do usuário. O DDD busca criar um modelo de domínio que seja uma representação simplificada e fiel desse domínio, servindo como base de comunicação entre todos os envolvidos no projeto.

Os padrões táticos do DDD, como Aggregates (Agregados) e Value Objects (Objetos de Valor), são ferramentas para construir esse modelo de domínio rico. Um Value Object é um objeto imutável que descreve uma característica do domínio, como um endereço ou uma quantia em dinheiro. Um Aggregate é um cluster de objetos de domínio tratados como uma unidade, com um Aggregate Root (Raiz do Agregado) controlando o acesso aos demais objetos. Esses padrões não desacoplam o domínio do modelo; pelo contrário, eles fortalecem o vínculo entre a lógica de negócio e a representação do modelo, garantindo que as regras de negócio estejam encapsuladas e sejam aplicadas de forma consistente.

A ideia de "isolar a lógica de negócio em camadas técnicas" é um equívoco. O DDD prega a separação em camadas (como apresentação, aplicação, domínio e infraestrutura), mas o objetivo é que a lógica de negócio fique concentrada na camada de domínio, e não espalhada em camadas técnicas. Os padrões Aggregates e Value Objects são justamente os mecanismos para manter essa lógica coesa e bem estruturada dentro do modelo de domínio.

A banca explora uma confusão conceitual: o candidato pode associar "desacoplar" a uma boa prática de engenharia de software, mas no contexto do DDD, o que se busca é o acoplamento entre o modelo e o domínio, para que o software reflita com precisão as regras de negócio. O desacoplamento que se deseja é entre as camadas técnicas (como infraestrutura e apresentação) e a camada de domínio, não entre o domínio e o modelo.

NÃO CAIA NESSA!

A banca inverte o sentido do que os padrões do DDD fazem. Ela diz que Aggregates e Value Objects "desacoplam o domínio de negócio do modelo de domínio", quando na verdade eles acoplam o modelo ao domínio, garantindo que a lógica de negócio esteja no lugar certo. O desacoplamento que o DDD busca é entre a camada de domínio e as camadas técnicas (infraestrutura, apresentação), não entre o domínio e o modelo.

1Value Object
Objeto imutável
Descreve característica do domínio
2Aggregate
Cluster de objetos
Aggregate Root controla acesso
3Objetivo
Acoplar modelo ao domínio
Encapsular lógica de negócio
Concentrar regras na camada de domínio
4Desacoplamento buscado
Camada de domínio × camadas técnicas
Não entre domínio e modelo
DDD: padrões táticos
LEVELsoulevel.com.br
DDD: padrões táticos: Value Object (Objeto imutável, Descreve característica do domínio); Aggregate (Cluster de objetos, Aggregate Root controla acesso); Objetivo (Acoplar modelo ao domínio, Encapsular lógica de negócio, Concentrar regras na camada de domínio); Desacoplamento buscado (Camada de domínio × camadas técnicas, Não entre domínio e modelo)

Item — ❌ Errado

A afirmativa está errada por dois motivos principais:

  1. Inverte a finalidade dos padrões: Aggregates e Value Objects são padrões táticos do DDD que visam enriquecer o modelo de domínio, encapsulando a lógica de negócio dentro dele. Eles não desacoplam o domínio do modelo; eles os integram.

  2. Confunde o tipo de desacoplamento: O DDD prega a separação em camadas, mas o objetivo é isolar a lógica de negócio na camada de domínio, e não em "camadas técnicas". O desacoplamento desejado é entre a camada de domínio e as demais camadas (infraestrutura, aplicação, apresentação), para que o núcleo do negócio não dependa de detalhes técnicos.

Gabarito: Errado (E).

Link permanente: /questoes/ce417759