设计模式- 数据源架构模式

活动记录(Active Record

一个对象,它包装数据库表或视图中的某一行,封装数据库访问,并在这些数据上增加了领域逻辑

对象中既有数据又有行为。这些数据大多是持久数据、并且需要保存到数据库。

运行机制

  • 活动记录的本质是一个领域模型,这个领域模型中的类和基数据库中的记录结构十分吻合。每条活动记录负责和数据库进行交互,处理领域逻辑。
  • 某些面向数据的代码在活动记录中,而某些领域逻辑在事务脚本中。
  • 活动记录通常具有下列方法:
  1. 由SQL结果集中的一行构造一个活动记录实例
  2. 为将来对表的插入构造一个新的实例
  3. 用静态查找方法来包装常用的SQL查询和返回活动记录。
  4. 更新数据库并将活动记录中的数据插入数据库
  5. 获取或设置域
  6. 实现部分业务逻辑
  • 活动记录和行数据入口十分类似。二者的主要差别是:行数据入口仅有数据库访问而活动记录既有数据源逻辑又有领域逻辑。

使用时机

  • 适用于不太复杂的领域逻辑,如创建、读、更新和删除。
  • 活动记录容易创建易于理解,但问题在于仅当活动记录对象和数据库中表直接对应,即同构模式时,活动记录才比较有效。
  • 活动记录要求和数据库结构设计紧密耦合,为重构带来困难。

活动记录示例

建立类,及和类同构的表结构

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值