4
나는 케이크 패턴을 가지고 놀았으며 완전히 이해하지 못하는 것이 있습니다.케이크 패턴 : 특성을 혼합하기
주어진 다음의 공통 코드 :
는trait AServiceComponent {
this: ARepositoryComponent =>
}
trait ARepositoryComponent {}
을 혼합 다음과 같은 방법이
trait Controller {
this: AServiceComponent =>
}
object Controller extends
Controller with
AServiceComponent with
ARepositoryComponent
작동하지만 다음과 같은 오류와
trait Controller extends AServiceComponent {}
object Controller extends
Controller with
ARepositoryComponent
하지 않습니다
우리는 그들이 모든 서브 클래스에 공통 될 것이라고 알고 있다면 10우리가 "푸시"계층 구조에 종속 수 없습니다 하는가? Controller
만큼이 이러한 문제를 해결하지 않고 인스턴스화 아니에요으로, 종속성을 가질 수 있도록
컴파일러는 허용하지할까요?
예, 나는 그것이 암시 적 또는 명시 적 일들이 코드에 있어야하는 방법에 대한 설계 문제의 결국 같아요. 믹스 인의 의존성을 재발 명하는 것은 다소 반복적으로 느껴지 겠지만, 특히 그것이 특성에 직접적으로 사용되지 않는다면. –