Sobes.tech
Junior — Middle

Milyen megközelítéseket alkalmazzunk, hogy elkerüljük a függvény példányának közvetlen létrehozását a kódban?

sobes.tech MI

Válasz az MI-től

Annak érdekében, hogy elkerüljük egy függvény (például objektum vagy osztály) közvetlen példányosítását a kódban, a következő megközelítéseket alkalmazzuk:

  1. Gyármetódus (Factory Method) — speciális módszereken keresztül hoz létre objektumokat, elrejtve a létrehozás részleteit.

  2. Függőségi injekció (Dependency Injection) — az objektumokat kívülről adjuk át az osztálynak, általában a konstruktor vagy egy setter segítségével, ami megkönnyíti a cserét és a tesztelést.

  3. Interfészek és absztrakciók használata — a kód interfészekkel dolgozik, és a konkrét megvalósításokat kívülről hozzák létre és adják át.

  4. Lambda kifejezések és funkcionális interfészek — új osztályok létrehozása helyett funkciókat lehet paraméterként átadni.

Androidban függőségi injekció példája (Kotlin):

interface ClickHandler {
    fun onClick()
}

class MyActivity(private val clickHandler: ClickHandler) {
    fun setup() {
        // A megadott kezelőt használjuk, nem pedig újat hozunk létre
        button.setOnClickListener { clickHandler.onClick() }
    }
}

Ez a megközelítés növeli a kód rugalmasságát és tesztelhetőségét, valamint megkönnyíti a karbantartást és a bővítést.