加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby / Rails依赖注入

发布时间:2020-12-17 02:46:04 所属栏目:百科 来源:网络整理
导读:我试图了解 Ruby / Rails中的依赖注入.如何使用依赖注入删除Builders对Saw的显式引用? class Builder attr_reader :saw def saw @saw ||= Saw.new(4) end def cut_wood Saw.saw endendclass Saw attr_reader :blades def initialize(blades) @blades = blad
我试图了解 Ruby / Rails中的依赖注入.如何使用依赖注入删除Builders对Saw的显式引用?

class Builder
  attr_reader :saw

  def saw
    @saw ||= Saw.new(4)
  end

  def cut_wood
    Saw.saw
  end
end

class Saw
  attr_reader :blades

  def initialize(blades)
    @blades = blades
  end

  def saw
    # do something
  end
end

解决方法

将Saw的初始化移动到默认参数.

class Builder   
  def saw(saw = Saw.new(4))
    @saw = saw
  end

  def cut_wood
    Saw.saw
  end
end

Builder#saw现在支持依赖注入.

请记住删除attr_reader:从您的代码中查看,因为它被您的自定义阅读器覆盖.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读