2
我正在尋找最好的語法,因爲包含類拿起他們包含的類暴露的含蓄嗎?消費類隱含消費類
我該方案具有抽象測試兩個依賴:應用程序的actorsystem的創造,這種情況發生,要求actorsystem以及一個Web客戶端:
trait Core {
implicit def system: ActorSystem
}
trait WebClient {
implicit def system: ActorSystem
}
trait Api extends WebClient {
...
}
trait Server extends Core {
def api: Api
val service = system.actorOf(Props(new Service(api)))
}
現在,我創建了一個新的應用,該應用提供在actorsystem和API,但是API需要一個隱含的actorsystem,我已經想通了,唯一的方法就是手動提供這樣的:
object ServerApp extends App with Core {
implicit val system = ActorSystem("foo")
val api = new Api {
override implicit def system = implicitly[ActorSystem]
}
}
是否有其Web客戶端撿起隱含一個更好的語法核心?我不能讓它擴展Core,因爲它是由Core實現包含的,並且需要作爲其中包含的其他內容的依賴項。但override implict def system = implicitly[ActorSystem]
似乎相當hamfisted某些應該是,呃,暗含
'對象ServerApp擴展應用程序與Server'? – 2014-09-02 02:57:19