有时候我会看到有boot.scala或Boot.scala文件的项目。虽然这看起来不是一个硬性和快速的Scala规则,但它看起来似乎是一种民间传说,包括Boot.scala文件在一些项目中。这个特定的项目使用Akka和Spray,它转换为演员模式和REST服务。Boot.scala适合在哪里?
会有人请解释通常可以在这样一个文件可以预期什么类型的功能,如果这是某种形式的共同的模式?
进行了扩展,这个问题(请回答第一位第一:-),我将不胜感激知道如何阅读代码,这是在具有多个Boot.scala文件的项目。
trait Web {
this: Api with Core =>
....
}
Boot.scala在API包:
trait Api {
this: Core =>
....
}
Boot.scala核心包:
trait Core {
implicit def actorSystem: ActorSystem
implicit val timeout = Timeout(30000)
val application = actorSystem.actorOf(
props = Props[ApplicationActor],
name = "application"
)
Await.ready(application ? Start(), timeout.duration)
}
一个能够用于收集用户
在web包Boot.scala一个软件包依赖于另一个软件包,并且Boot.scala文件可能在基于角色的系统中很常见,但是如何操作一个人是否会阅读这些关系?例如,我如何阅读英语中的特征Web {this:Api with Core => ...}?
在特定情况下,应用程序的出发点是主文件:
object Main extends App {
implicit val system = ActorSystem("RESTService")
class Application(val actorSystem: ActorSystem) extends Core with Api with Web {
}
new Application(system)
sys.addShutdownHook {
system.shutdown()
}
}
我意识到我的问题似乎微不足道了一些,但我试图进入Scala的部落在这里,并且'秘密密码'不在任何手册中。
啊哈,现在很多东西都落在了地方。谢谢Kim。 – Jack 2012-08-16 11:35:59