1. 数据访问层究竟是什么:
1)功能需求:
数据库独立性(无论最终的数据存储介质是什么,数据访问层都要能为系统的其他部分提供同样的服务)
像插件一样可配置(将数据库访问层作为一个黑盒,该黑盒提供了一个固定接口,并从配置文件中动态读取出当前数据访问层组建的细节):接口、ORM
2)数据访问层的职责:
CRUD、Query、Transaction Management、Concurrency
3)关系:
架构图如下:
数据访问层和领域模型并不直接通信,而是靠服务层来协调,这事架构上的关键之处。
2. 设计数据访问层:
分离接口模式
面向(数据访问层)接口编程
插件模式(带有一些特别功能的工厂模式,如从外部配置源中读取类型信息)、服务定位器模式(Service Locator)
控制反转、依赖注入
3. 主流ORM工具: