A analista Débora está implementando o sistema CGEOnline de ...
A classe Acoes, criada por Débora, aplica o conceito do DDD:
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