我找到了一个mixin的例子,它假设包含类的实例变量.像这样的东西:
module Fooable
def calculate
@val_one + @val_two
end
end
class Bar
attr_accessor :val_one, :val_two
include Fooable
end
Run Code Online (Sandbox Code Playgroud)
我发现支持和反对这是一个好习惯的论据.显而易见的替代方案是传递val_one和val_two作为参数,但这似乎并不常见,并且具有更多参数化方法可能是一个缺点.
关于mixin对阶级状态的依赖,是否存在传统观点?从实例变量中读取值与将它们作为参数传递有什么优点/缺点?或者,如果您开始修改实例变量而不是仅仅读取它们,答案是否会改变?