我目前正在烘烤我的第一个蛋糕图案,所以请多多包涵。
我拿了我的工作单体应用程序,并将其切割成功能层。剪切看起来很干净,但导致两个层依赖于隐式 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 只是实例化了actor系统。
这不起作用,因为ActorSystem
当依赖关系被解析并且 val 被实例化时不存在,从而导致 NPE。这看起来也很丑陋,我相信必须有一种更好/更简单的方法来处理它。
在使用蛋糕模式时,我应该如何处理层之间的共享隐式依赖关系,就像ActorSystem
在这种情况下一样?
谢谢