1
resposta

Objetivo do DAO

Olá. Não ficou muito claro para mim qual o objetivo/vantagens de criar essa classe DAO. Por que não, simplesmente, colocar tudo do DAO no Produto? Faz mais sentido para mim

1 resposta

Olá Sabrina, tudo bem com você?

Isso é mais uma questão de organização para facilitar futuras alterações. Isolar todo o código relacionado ao acesso e manipulação do banco de dados em classes DAO evita que esse código se misture com o código relacionado às regras de negócio.

Dessa forma, se um dia precisarmos alterar algo no código com as regras de negócio - o que com certeza vai acontecer, não teremos várias linhas de código relacionadas ao banco de dados misturadas com o código das regras de negócio, o que facilita bastante na leitura do código! O mesmo vale para quando precisarmos trocar o sistema de gerenciamento de banco de dados (SGBC) do MySQL para o Postgre, por exemplo. Tudo o que precisamos fazer é focar nas operações especificas do banco, sem medo de quebrar alguma parte da lógica do negócio na aplicação.

Faz sentido? Se ficou alguma dúvida é só avisar! ;)

Abraços e bons estudos!!