Scala应用程序结构

时间:2011-05-06 11:30:44

标签: scala

我正在学习Scala,我想写一些愚蠢的小应用程序,如控制台Twitter客户端,或其他什么。问题是,如何在磁盘上和逻辑上构建应用程序。我知道python,在那里我只是用类创建一些文件,然后在主模块中导入它们,如import util.sshfrom tweets import Retweet(强烈希望你不介意这些名字,它们仅供参考)。但应该我是如何使用Scala做这些事情的呢?另外,我对JVM和Java的经验不多,所以我在这里是一个完整的新手。

2 个答案:

答案 0 :(得分:112)

答案 1 :(得分:13)

Scala支持并鼓励Java / JVM的包结构,几乎相同的建议适用:

  • 镜像目录结构中的包结构。这在Scala中不是必需的,但它有助于找到适合您的方式
  • 使用反向域作为包前缀。对我而言,这意味着一切都始于de.schauderhaft。如果您没有自己的域名,请使用对您有意义的内容
  • 只将顶级类放在一个文件中,如果它们很小并且密切相关。否则每个文件都有一个类/对象。例外:伴侣对象与该类位于同一文件中。密封类的实现进入同一个文件。
  • 如果您的应用程序增长,您可能希望拥有类似图层和模块的内容并在包结构中镜像这些内容,因此您可能拥有如下所示的包结构:<domain>.<module>.<layer>.<optional subpackage>
  • 对包,模块或层级没有循环依赖性