【发布时间】:2011-05-23 22:58:11
【问题描述】:
我想遵循得墨忒耳法则。当我通过我的代码搜索“两个点”时,我发现自己在问是否真的值得在这种类型的上下文中设置委派职责:
来自
class Activity
def increment_user_points!
self.user.increment_points!(points, true)
end
end
到
module UserDelegator
def user_increment_points!(points, increment_credits=false)
self.user.increment_points!(points, increment_credits)
end
end
class Activity
include UserDelegator
def increment_user_points!
user_increment_points!(points, true)
end
end
你有什么想法?
【问题讨论】:
-
这里有两个点的原因是
self明确声明为接收者。你可以摆脱它,因为self是默认接收者。
标签: ruby-on-rails law-of-demeter