nTransparência quanto à fonte de dados
nFacilita migração para outras
implementações
nBasta implementar um DAO com mesma
interface
nReduz complexidade do código nos objetos
de negócio (ex:
Entity Beans BMP)
nCentraliza todo acesso aos dados em camada
separada
nQualquer componente pode usar os dados
(servlets, EJBs)
nCamada adicional
nPode ter pequeno impacto na
performance
nRequer design de hierarquia de classes
(Factory)
nExemplos de DAO
nDAO para cada Business Object
nDAO para serviços arbitrários