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
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
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!!