小编use*_*818的帖子

mixin应该对他们的包括类做出假设吗?

我找到了一个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_oneval_two作为参数,但这似乎并不常见,并且具有更多参数化方法可能是一个缺点.

关于mixin对阶级状态的依赖,是否存在传统观点?从实例变量中读取值与将它们作为参数传递有什么优点/缺点?或者,如果您开始修改实例变量而不是仅仅读取它们,答案是否会改变?

ruby oop mixins

4
推荐指数
1
解决办法
162
查看次数

标签 统计

mixins ×1

oop ×1

ruby ×1