在Scala中,我如何给Singleton一个构造函数?

fri*_*rio 9 scala scala-2.8

我的设计包含一个小型数据库抽象,我将每个数据库实现为Singleton(well,an object),在数据库中使用自定义方法进行代码调用的几个操作(它主要是一个日志解析器,将有趣的统计信息转储到数据库中) .

如果可能的话,我想构造Singleton数据库类,这样在运行时,每个都使用配置值构造(并且这些值在程序运行时的其余部分保持不变).这样我就可以更好地测试代码了(因为我可以使用Mockito或其他一些方法来模拟数据库).

我仍然只学习Scala,但似乎没有办法将构造函数附加到Singleton,并且会对这个问题的任何输入表示感谢 - 有没有更好的方法来做我正在做的事情?是否有一些构建Singleton的首选方法?

提前干杯以获得任何帮助.

sep*_*p2k 13

只需将构造函数代码放在对象定义的主体中:

object Foo {
    println("Hello") // This will print hello the first time
                     // the Foo object is accessed (and only
                     // that once).
}
Run Code Online (Sandbox Code Playgroud)