1
resposta

Classe Domain equivale à um DTO?

Se entendi correto, na aula foram criadas duas classes Domain para enviarem objetos nas requisições HTTP. Em que essa classe Domain se diferencia de um DTO? E nessa classe Domain não é necessário criar Getters e Setters?

1 resposta

Olá Wagner! Tudo bem?

Uma classe de domínio é usada para representar entidades do mundo real no seu código. Ela encapsula dados e comportamentos que são relevantes para o domínio da aplicação. No exemplo que você mencionou, as classes Abrigo e Pet são classes de domínio, pois representam entidades do mundo real com suas propriedades específicas, como nome, telefone e e-mail para um abrigo.

Por outro lado, um DTO (Data Transfer Object) é um padrão de projeto usado para transferir dados entre diferentes camadas de uma aplicação, especialmente entre a camada de apresentação e a camada de serviço. O principal objetivo de um DTO é transportar dados sem qualquer lógica de negócio. Ele geralmente contém apenas atributos e os métodos getters e setters.

Quanto à necessidade de criar getters e setters em uma classe de domínio, isso depende de como você pretende usar essa classe. Se você precisa acessar ou modificar as propriedades de fora da classe, é uma boa prática criar getters e setters para manter o encapsulamento. No entanto, se as propriedades só precisam ser acessadas ou modificadas dentro da própria classe, você pode optar por não criá-los.

Por exemplo, se você tiver uma classe Abrigo e precisar acessar o nome do abrigo em outra parte do seu código, você pode criar um getter assim:

public String getNome() {
    return nome;
}

E um setter para modificar o nome, se necessário:

public void setNome(String nome) {
    this.nome = nome;
}

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.