Sobes.tech
Junior — Middle

Koje pristupe koristiti da izbegnemo direktno kreiranje instance funkcije u kodu?

sobes.tech АИ

Одговор од АИ

Da biste izbegli direktno kreiranje instance funkcije (na primer, objekta ili klase) u kodu, koriste se sledeći pristupi:

  1. Fabrika metoda (Factory Method) — kreira objekte putem specijalnih metoda, skrivajući detalje kreiranja.

  2. Injektovanje zavisnosti (Dependency Injection) — objekti se prosleđuju u klasu spolja, obično putem konstruktora ili settera, što olakšava zamenu i testiranje.

  3. Korišćenje interfejsa i apstrakcija — kod radi sa interfejsima, a konkretne implementacije se kreiraju i prosleđuju spolja.

  4. Lambda izrazi i funkcionalni interfejsi — umesto kreiranja novih klasa, funkcije se mogu proslediti kao parametri.

Primer sa injekcijom zavisnosti u Androidu (Kotlin):

interface ClickHandler {
    fun onClick()
}

class MyActivity(private val clickHandler: ClickHandler) {
    fun setup() {
        // Koristimo prosleđeni handler umesto da pravimo novi
        button.setOnClickListener { clickHandler.onClick() }
    }
}

Ovaj pristup povećava fleksibilnost i testabilnost koda, kao i olakšava održavanje i proširenje.