1

The Code A use DBLogHelper.instance to initial mDBLogHelper, and Code B use DBLogHelper() to initial mDBLogHelper.

What are differents, which one is the better?

Code A

class DBLogHandler(private val mDBLogHelper: DBLogHelper =DBLogHelper.instance) {
}

Code B

class DBLogHandler(private val mDBLogHelper: DBLogHelper =DBLogHelper()) {
}

Code For Both

class DBLogHelper(mContext: Context = UIApp.instance) : ManagedSQLiteOpenHelper(
        mContext,
        DB_NAME,
        null,
        DB_VERSION) {

    companion object {
        val DB_NAME = "log.db"
        val DB_VERSION = 1
        val instance by lazy { DBLogHelper() }
    }

    override fun onCreate(db: SQLiteDatabase) {
       ...
    }
}
HelloCW
  • 843
  • 22
  • 125
  • 310

0 Answers0