Apenas uma dúvida sobre conceitos: O código de exemplo AlunoRepository é realmente um repository ou um DAO? E por quê?
Apenas uma dúvida sobre conceitos: O código de exemplo AlunoRepository é realmente um repository ou um DAO? E por quê?
Ótima pergunta, Diego!
Repository lembra uma coleção. Você busca elementos, remove, etc. Não faz alusão nenhuma a persistência em sua API.
Já DAO deixa claro que se trata de persistência, logo, tem métodos de inserção, atualização, remoção e seleção.
O conceito é muito semelhante, a diferença é muito sutil e na maioria dos casos é apenas na forma como montamos a interface (assinaturas dos métodos).
Olá grande Vinicius. Realmente já li sobre essa questão de que repository se trata de coleções, porém nunca ficou totalmente compreendido para mim já que com DAO posso fazer o mesmo ( caso o que eu pense sobre DAO esteja correto). Talvez faça muito mais sentido isso que você citou sobre a interface, no design de como se monta as consultas.
Eu sempre tive essa dúvida também. Aprendi essa diferença ao estudar sobre DDD, especificamente, com esse livro:
Obrigado Vinicius. Já tinha visto sobre esse livro e com interesse de lê-lo, porém sem tempo por questões de outras leituras na frente, agora vou dar prioridade para ele. Grato!