나는 현재 첫 번째 케이크 패턴을 굽고 있으므로 나와 함께하시기 바랍니다.케이크 패턴 (w/akka) : 여러 레이어에 암시 적 actorSystem 제공
나는 작동하는 모 놀리 식 앱을 가져다가 기능적 레이어로 잘라 냈습니다. 컷이 깨끗해 보이지만 묵시적인 ActorSystem에 의존하는 두 개의 레이어가 생성되었습니다.
는이 같은이 종속성 해결하기 위해 노력 :trait LayerA {
this: ActorSystemProvider =>
private implicit val implicitActorSystem = actorSystem
import implicitActorSystem.dispatcher // implicit execution ctx
...
}
을 ... 유사 LayerX에 대한
내 조립 클래스는 다음과 같습니다
class Assembly extends LayerA with LayerB with LayerX with ActorSystemProvider
ActorSystemProvider 단순히 배우를 인스턴스화
체계.
종속성이 해결되고 값이 인스턴스화되어 NPE가 발생하면 ActorSystem
이 존재하지 않으므로이 작업이 수행되지 않습니다. 이것은 또한보기 흉하게 보이고 그것을 다루는 더 좋고/더 쉬운 방법이 있어야합니다.
이 경우 ActorSystem
과 같이 케이크 패턴을 사용할 때 레이어간에 공유 된 암시 적 종속성을 어떻게 처리해야합니까?
감사
@Alexv'ActorSystemProvider'를 어디에서 참조하는지 이해할 수 없습니다.'myInternalCalculator'와 같은 내부 특성에서'actorSystem'을 어떻게 액세스 할 수 있습니까? 이것은 호출 계층 구조의 깊은 곳에서 사용됩니다. – Jas
@Jas'ActorRefProvider' 대신'ActorSystemProvider'를 사용하는 것처럼 보입니다. 그럼'ServiceLauncher'와 비슷한 것으로 초기화 할 수 있습니다. – 4lex1v