我目前正在使用一个代码库,该代码库需要一个显式参数来为其实现的某些部分设置隐式范围:
class UsesAkka(system: ActorSystem) {
implicit val systemImplicit = system
// code using implicit ActorSystem ...
}
我有两个问题:
是否有一种更简洁的方式来推广'隐式的显式参数 范围而不影响班级的签名?
是否一般建议始终通过隐式参数列表导入某些类型,例如ActorSystem
用于Akka应用程序?
从语义上讲,我觉得有一种类型的显式依赖可能是另一种类型的隐式依赖,但翻转implicit
切换似乎会产生系统性影响。整个代码库。
答案 0 :(得分:1)
为什么不让systemImplicit
私密?
class UsesAkka(system: ActorSystem) {
private implicit val systemImplicit = system
// ^^^^^^^
// ...
}
这样,您就不会更改UsesAkka
的签名。