0

我一直在阅读一些关于 Scala 中的蛋糕模式(我知道那是旧东西),我看不到或想象一种锁定具体类的方法,因此依赖项不会从注入它们的类中泄漏.

一个简单且最新的示例来自play-reactive-mongo-db激活器模板。在该应用程序中,控制器使用ReactiveMongoComponentstrait 来获取驱动程序的实例ReactiveMongoApi

现在,问题是控制器继承了一个公共方法来返回一个实例,reactiveMongoApi因此打破了两个基本原则:封装和信息隐藏。我知道这个例子不是很好(因为控制器不应该访问任何数据存储),但如果有域服务或存储库,同样适用。我知道这些类(域服务、存储库等)将具有定义可访问方法的特征,并且不会有公共方法/属性来获取依赖项,但具体实现确实泄漏。

TL;DR:Cake 模式从具体实现中泄漏依赖关系,如何避免这种情况?

4

0 回答 0