微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该避免在Scala中定义“对象”吗?

我认为 Scala中的“对象”非常类似于 Java中的Singleton,这被认为不是一个好的设计实践.单身对我来说就像定义全局变量的另一种方式是BAD.我写了一些这样的Scala代码,因为它很简单并且可以工作,但代码看起来很难看:

object HttpServer { // I'm the only HttpServer instance in this program.
  var someGlobalState: State
  def run() {
    // do something
  }
}

我试图避免这样做.什么时候定义Scala对象好?

解决方法

不是.许多Scala-Libraries严重依赖于对象.

Singleton-Pattern的主要目标是只存在一个Object实例.对象也是如此.

您可能会将其误用为全局变量,但这不是重点.

例如,对象是工厂方法的好地方,或者替换模块来保存函数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐