在看 once 的 writebook 源码的时候,发现一些 model 的代码一会儿放在 concerns,一会儿放在对应的模型名的目录下。
Positionable 只有 leaf 用了,也不是多个 model 的公用逻辑,为什么要放 concerns 里面呢?
37signals 喜欢用 concerns 而且玩得溜。
我是只有公用逻辑才放 concerns。
我是比较喜欢放 concern 的 我一般是这样 某个 model 的根据功能划分,比如 student 里 关于考试成绩的相关操作,放一个 concern 之后 选课相关的 再放另一个 concern 之后 include 进来
model 大了不方便,不同功能的切出来,没必要都揉在一起
自己封装的、复用性比较强的功能放 concerns 里,需要用到的时候 include 一下
include
我和你一样,这样减少的 model 里面的方法数量。按模块划分 concerns.
业务无关的纯技术内部实现的复用部分 -> concerns 业务有关的复用代码 -> services
希望有帮助 https://dev.37signals.com/good-concerns/