ケーキパターンを使用する場合、自己型アノテーションを使用するのはいつですか?例えば:
trait DefaultFoo extends Foo {
this: Bar =>
...
}
対スタブ定義
trait DefaultFoo extends Foo {
def bar:Bar
...
}
またはスタブ値
trait DefaultFoo extends Foo {
val bar:Bar
...
}
更新: もう少し具体的に説明します (できれば)。3 つのフォームはすべて、Bar インスタンスの必要性を定義します。したがって、基本的に、いずれかの形式でこのトレイトを混合する非抽象クラスは、Bar の実装を提供する必要があります。私の質問は、自己型注釈を使用して Bar の実装を強制したいのはいつですか。いつ def スタブを使用して Bar を強制および実装したいのか、いつ val スタブを使用して強制したいのか。質問が少し明確になったことを願っています。
ありがとうネッタ