Skip to content

Dagger ‐ Scoping, normal example using singleton

Devrath edited this page Oct 6, 2023 · 11 revisions

Observations

Output

Code

implementations

Connection.kt

interface Connection {
    fun connect(endpoint:String)
}

HttpConnection.kt

class HttpConnection @Inject constructor() : Connection {
    override fun connect(endpoint: String) {
        PrintUtils.printLog("HttpConnection made")
    }
}

HttpsConnection.kt

class HttpsConnection @Inject constructor(): Connection {
    override fun connect(endpoint: String) {
        PrintUtils.printLog("HttpsConnection made")
    }
}

NetworkLibrary.kt

class NetworkLibrary @Inject constructor( val connection: Connection) {
    fun initilizeNetworkLibrary() {
        connection.connect("www.client.com")
        PrintUtils.printLog("Network library is initialized")
    }
}

Modules

Components

Activity

Clone this wiki locally