4

读完这篇博文后,我不明白:

使用自类型注释与为依赖注入指定构造函数参数有什么区别?

换句话说,这种风格有什么区别:

object Main {
  def main(args: Array[String]) {
    val barWithFoo = new BarUsingFooAble with MyFooAble with BazAble
    println(barWithFoo.bar())
  }
}

和这个:

object Main {
  def main(args: Array[String]) {
    val barWithFooAndBaz = new BarUsingFooAble(new FooAble with BazAble)
    println(barWithFooAndBaz.bar())
  }
}

而这个(第三个选项):

object Main {
  def main(args: Array[String]) {
    val barWithFoo = new BarUsingFooAble with FooAbleComponent with BazAbleComponent {
      val bazAble = new BazAble() //or any other implementation
      val fooAble = new FooAble() //or any other implementation
    }
    println(barWithFoo.bar())
  }
}

?

有没有(超出语法)?(必须有,否则自类型注释将不存在)。

编辑:

似乎是相关的问题,尽管它没有回答这个问题。

也是相关的,所以这两种风格基本上没有区别?

4

0 回答 0