Table of Contents
Data Mapper 模式是一种设计方法,将内存对象与数据库层区分开来,促进关注的清洁分离. 在 Rails上的Ruby 中,实施这一模式可以提高您数据持久性层的灵活性和可维护性.
什么是数据映射器模式?
Data Mapper模式涉及创建一个专门的映射层,处理对象和数据库之间的数据传输. 与Active Record不同的是,Data Mapper将这些责任分开,使得可以更容易地切换数据源或修改持久性逻辑而不影响业务逻辑.
在铁路上的Ruby上执行数据映射器
尽管 Rails 鼓励使用 Active Record, 但您可以通过引入管理数据库交互的映射类来实施数据映射器模式。 这种方法包括创建用于您域模型的Plain Ruby 对象和用于数据库操作的单独的映射器 。
步骤1:界定域模型
创建代表您核心数据实体的简单的Ruby类。 这些类只应该包含商业逻辑和属性, 没有任何数据库代码 。
步骤2: 创建映射类
负责加载和保存数据的设计映射类。这些类将使用活动记录或SQL查询处理所有数据库交互,将数据翻译到或从您的域模型中获取。
使用数据映射器模式的优点
- 解析:将业务逻辑与持久性逻辑区分开来,使代码更容易维护.
- 灵活性:] 简化交换数据源或存储机制.
- 可测试性:域模型可以独立于数据库进行测试.
- 清空架构: 促进在应用中明确区分关注.
结论
在铁路上的Ruby中执行数据映射器模式需要额外的设置,但在代码组织和灵活性方面却提供了巨大的好处。通过将您的域模型与数据库交互明确区分开来,可以构建更可维护,更适应的应用程序.