斯卡拉的懒惰单身人士
发布时间:2020-12-16 18:26:26 所属栏目:安全 来源:网络整理
导读:随着我对 Scala的学习的继续,我对 Scala语言中的一些选择很感兴趣.考虑删除静态类.在 Java世界中(从我来到的地方),静态成员,单例和实例成员之间存在明显差异. Java中一直存在对单例的持续需求,静态成员无法真正帮助它.我知道为什么单例可能比静态成员更受欢
随着我对
Scala的学习的继续,我对
Scala语言中的一些选择很感兴趣.考虑删除静态类.在
Java世界中(从我来到的地方),静态成员,单例和实例成员之间存在明显差异. Java中一直存在对单例的持续需求,静态成员无法真正帮助它.我知道为什么单例可能比静态成员更受欢迎的主要用例是:
>能够控制单例对象的实例化.如果加载类的实例是资源很重,我们希望将其推迟到以后才能实际需要. 然而,似乎Scala对单身人员的实施将缺乏上述好处.看看这里的讨论:http://pbadenski.blogspot.com/2009/06/design-patterns-in-scala-singleton.html 在我看来,Scala根本没有解决单例用例.哪会令人失望. 如果我的理解是正确的,那么下一个问题是:我们如何在Scala中启用惰性单例模式? 好像我们必须与斯卡拉战斗才能以正确的方式获得单身人士! PS:这不是我的博客 解决方法
斯卡拉的单身人士很懒惰.在REPL中尝试以下内容:
scala> object Foo { println("hello") } defined module Foo scala> 1+1 res0: Int = 2 scala> Foo hello res1: Foo.type = Foo$@37c8ccf4 scala> Foo res2: Foo.type = Foo$@37c8ccf4 正如您从println中看到的那样,Foo在使用之前不会被初始化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |