数据库 ruby 中如何定位 DAO

weiwei5987 · 2012年10月16日 · 最后由 weiwei5987 回复于 2012年10月16日 · 3172 次阅读

我的实体类已经继承了 ActiveRecord,那么对这个类增删改查的封装是不是也写在这个 model 里面,还是在 model 上再封装一层 DAO 呢?比如已经写了 Task 类继承自 ActiveRecord 了,那么 create_task 这个函数是放在 Task 类里还是放在新类里。

继承了 ActiveRecord 之后,Model 里面已经有一堆方法了,比如 Task.create。

添加新方法可以先放在 Model 里,复杂的跨 Model 的再考虑新添类。

ruby 的灵活不是 java 能比的,yield block 和 method alias 能够很方便的元编程,不需要像 java 那样分层,最后用 AOP 统一处理

#1 楼 @Rei 比如我实体类的一个字段是 create_time,这肯定要修改 Model 了吧,得到系统时间这部分代码在哪儿实现呢?

#5 楼 @weiwei5987 ActiveRecord 有两个魔法字段 created_atupdated_at,如果你的表里面已经有这两个字段,它就会在保存和更新的时候自动填上。

如果是其他需要自动更新的字段,我会写一个 before_update callback

#6 楼 @Rei 谢谢了~~ 我刚开始学,还不太会~~ 感谢指导

需要 登录 后方可回复, 如果你还没有账号请 注册新账号