今天看了 Devto 网站的文章A simple way to organize your app in use cases ,感觉这个思路挺好的。
模块切分业务,每个用例对应一个方法,因为是一一对应,这样有了用例设计后,很容易组织代码,便于设计。其次也方便维护,出了问题也好查,有一个唯一的代码点。
比如当设计好发票生成这个用例后,下面这个代码就对应发票生成。
module Payments
def self.generate_invoice(payment, config)
# something
end
end
Payments.generate_invoice(payment, config)
原文有更多的代码说明如何结合 controller 和 rspec 测试。