数据访问对象(DAO) 设计模式是一个非常受欢迎的实现 Java 应用中持久层的设计模式,它是基于抽象和封装设计原则并且避免应用受到来自持久层的改变所带来的影响。比如说,将数据从 Oracle 换到 MySQL,或者将持久化从文件系统换到数据库。这里有这样的具体例子,当我们将依赖关系型数据库来做用户认证的方案调整为 LDAP 执行认证。如果我们使用了 DAO 设计模式来访问数据库,那些只需要在数据访问层作出改变的操作会相对来说是安全的。DAO 设计模式同样还能保证应用各部分之间的低耦合度,比如说视图层是完全独立于 DAO 层并且只有同样是实现 DAO 接口的服务层才依赖于 DAO 层。
顺便说下,DAO 或者 数据访问对象模式不是 Gang of Four 中所说的 GOF 设计模式,Design Patterns: Elements of Reusable Object-Oriented Software。它不是任何一种面向对象的设计模