【问题标题】:Should i use Object or Class in a Kotlin library我应该在 Kotlin 库中使用对象还是类
【发布时间】:2021-12-26 15:21:28
【问题描述】:

我正在为一个应用程序编写一个 Kotlin 库。该库收集事件、错误、设备信息等信息以供以后分析。

为了便于使用,我使用了对象而不是类。库中的示例对象:

internal object LoggingModule { ...lots of methods to use internally... }

但我想知道在库中使用类而不是对象是否更好?因为有一个公共方法可以停止在库初始化时收集信息,并且由于有这个特性,所以如果选择了这个特性,也不需要在应用程序初始化时创建类(意思是对象)。但我也不认为会对应用产生巨大影响。

初始化示例:

class App: Application() {
    override fun onCreate() {
        super.onCreate()

        MyLibrary.setThings(myParameters).setEnabled(true).init() 

    }
}

我该怎么办?在这种情况下,对象不是一个好主意吗?

【问题讨论】:

    标签: class kotlin object android-library


    【解决方案1】:

    在 Kotlin 中,对象是单例和静态的。

    问题的答案与共享状态有关。单例应该是无状态的,没有任何共享。

    我对诸如“我只使用 X;我从不使用 Y”之类的教条观念持怀疑态度。

    更好地了解差异并根据具体情况适当地应用它们。

    【讨论】:

      猜你喜欢
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多