A analista Débora está implementando o sistema CGEOnline de ...

Próximas questões
Com base no mesmo assunto
Q2398325 Arquitetura de Software
A analista Débora está implementando o sistema CGEOnline de acordo com o Domain Driven Design (DDD). Débora criou em CGEOnline a classe de modelo de domínio Acoes, sem atributos que identifiquem unicamente determinada instância da classe. As instâncias de Acoes são caracterizadas apenas pelo estado da instância.
A classe Acoes, criada por Débora, aplica o conceito do DDD:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta para a questão é a E - objeto de valor.

Vamos entender o porquê, abordando cada conceito mencionado nas alternativas, começando pela correta:

Objeto de Valor (alternativa E): No Domain Driven Design (DDD), um objeto de valor (Value Object) é caracterizado por não possuir uma identidade própria, ou seja, suas instâncias são identificadas apenas pelo seu estado. No exemplo da questão, a classe Acoes é descrita como não possuindo atributos que identifiquem unicamente cada instância, o que é uma característica típica dos objetos de valor. Eles são imutáveis e usados para descrever aspectos de um domínio.

Agora, analisemos as alternativas incorretas:

Serviço (alternativa A): Um serviço (Service) em DDD é utilizado para representar uma operação ou ação que não pertence a nenhuma entidade ou objeto de valor específico. Um serviço encapsula lógica de negócios que não faz sentido ser incluída em uma entidade ou objeto de valor. No caso da classe Acoes, ela é claramente um tipo de dado, e não uma operação, então esta alternativa está incorreta.

Entidade (alternativa B): Uma entidade (Entity) no DDD possui uma identidade própria que a distingue de outras instâncias, independentemente do seu estado. Cada instância de uma entidade pode ser única por meio de um identificador, como um ID. A classe Acoes foi descrita como não tendo um atributo que a identifique de forma única, o que a exclui da definição de entidade.

Agregado (alternativa C): Um agregado (Aggregate) é um agrupamento de entidades e/ou objetos de valor que são tratados como uma unidade para fins de consistência de dados. Um agregado possui uma entidade raiz que controla o acesso a todos os seus componentes. Como Acoes não é descrito como uma coleção de objetos ou entidades com uma raiz, essa alternativa também não se aplica.

Repositório (alternativa D): Um repositório (Repository) é um padrão de design que encapsula a lógica de armazenamento, recuperação e busca de objetos de domínio. Ele atua como um intermediário entre o domínio e a camada de persistência. A classe Acoes não está relacionada a operações de armazenamento ou busca de dados, logo, esta alternativa é incorreta.

Portanto, a classe Acoes criada por Débora realmente aplica o conceito de objeto de valor, conforme descrito na alternativa E.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

E

Um objeto de valor é um objeto que descreve algumas características ou atributos, mas não tem uma identidade própria que o diferencie de outros objetos com os mesmos atributos. Esses objetos são usados para descrever aspectos do domínio que nos importam apenas pelo seu estado, não pela sua identidade.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo