我目前正在研究一些最佳实践和方法,以更好地封装来自 CodeSchool(Rails 4 模式)的代码。
我遇到了“模型装饰器”的使用,您将视图特定的逻辑移动到非 Active Record 模型中,这些模型服务于模型的所有视图相关逻辑(格式等)。这也符合单一职责原则。
以上述为前提,Railsscope
仅用于查询报告是否被视为违反 SRP?
例如
class Sales < ActiveRecord::Base
scope :sales_per_day, -> { group(:sale_date).sum(:total_sale) }
end
请忽略该示例中任何似乎有问题的地方,因为它只是报告的一个示例。该范围是否被视为违反可以移动到装饰器模型的 SRP,可能是处理报告的装饰器模型?或者无论是什么情况,范围都不会违反 SRP。
编辑:改写问题和示例以适合我的实际问题。