分享 新博文:介绍 Fengche.co 中对 Observer 的使用

poiyzy · 2014年03月20日 · 最后由 bhuztez 回复于 2014年03月21日 · 2045 次阅读

新博客,介绍 Fengche.co 中为什么使用 Observer,希望和大家一起交流 :)

http://yangzhuoyu.com/why-we-use-rails-observer/

共收到 13 条回复

最近在一个项目重构把Observer都拿掉了, 把所有的相关逻辑移到 services 里面,更方便测试 各种逻辑也更容易重用及测试, model承担的责任也都减少. 当然简单的场景observer应该够用.

#1楼 @rociiu 嗯,复杂的场景我们也用 Service。而 Observer 里主要是做那些很小很快的事情。

我記得Rails 4是去掉Observer的……如果是小事情我更傾向於callback,不過就像 @poiyzy 說的有時感覺不那麼OO -_-

#1楼 @rociiu 能举个例子不? 什么情况下observer够用,啥情况下service更合适?

Observer 是个坑,Rails 2 的时候我就停止使用了

@xmonkeycn 影响你测试的时候 我的目的是减少model的responsibilities

#7楼 @swordray 哦,我记得redmine里面还有大量的observer..

#9楼 @small_fish__ 个人不建议阅读 RedMine 的代码

#1楼 @rociiu 怎么选择用concerns,还是services?只使用services了?

@rociiu 我觉得你应该单独发一篇文章出来,仔细解释一下 Observer 的问题和如何用 Services 层去拆解和降低 Model 的复杂度。

Observer不还是Callback么。还不如用N2O

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