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:
-
Fabrika metoda (Factory Method) — kreira objekte putem specijalnih metoda, skrivajući detalje kreiranja.
-
Injektovanje zavisnosti (Dependency Injection) — objekti se prosleđuju u klasu spolja, obično putem konstruktora ili settera, što olakšava zamenu i testiranje.
-
Korišćenje interfejsa i apstrakcija — kod radi sa interfejsima, a konkretne implementacije se kreiraju i prosleđuju spolja.
-
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.