持久层的概念

所谓持久,就是把数据保存到可以永久保持的存储设备当中。一般来说,持久更为直接的理解就是对数据库的各种操作,如增加,删除,修改,查询,更新等操作。

持久层,就是把持久的动作封装成一个独立的层,这是为了降低功能代码之间的关联。创建一个更清晰的抽象,提高代码的内聚力,降低代码的耦合度,从而增强代码的要劳动局生和可重用性。

持久层可以封装数据访问细节,为大部分业务逻辑提供面向对象的API。它是一种松散耦合,使持久化不依赖于义愤数据库和上层业务逻辑来实现。我们在设计代码的时候,应该避免在业务逻辑代码中混杂数据访问代码。

DAO,即持久层数据访问对象。利用来抽象和封装所有对数据源的访问,由DAO来管理各种数据源的连接以便于检索和存储数据。DAO一般由业务对象,数据访问对象,数据源和值对象组成。通过DAO实现了数据访问逻辑的抽象与实现细节的封装,只对外提供一个抽象化的数据访问API。我们通过调用API的方法就能实现对数据库的操作。而不必再去理解具体是怎么对数据库进行操作的。这样由于业务操作和数据访问实现分离,也使得开发人员的专业划分成为可能。

在DAO中业务对象仅仅包含与本领域相关的逻辑对象和算法就可以了。针对不同的数据库提供各自的数据访问代码,可以通过定义一个调用接口,针对该接口实现不同数据的数据访问。这样就可以避免对具体实现的依赖,在以后数据库变更时,不用改实现的代码。

相关推荐