Sobes.tech
Junior — Middle

Aké prístupy použiť na zabránenie priamej tvorby inštancie funkcie v kóde?

sobes.tech AI

Odpoveď od AI

Aby ste sa zabránili priamej tvorbe inštancie funkcie (napríklad objektu alebo triedy) v kóde, používajú sa nasledujúce prístupy:

  1. Faktoriálna metóda (Factory Method) — vytvára objekty prostredníctvom špeciálnych metód, skrýva detaily tvorby.

  2. Vstrekovanie závislostí (Dependency Injection) — objekty sa odovzdávajú do triedy zvonku, zvyčajne cez konštruktor alebo setter, čo uľahčuje výmenu a testovanie.

  3. Použitie rozhraní a abstrakcií — kód pracuje s rozhraniami, a konkrétne implementácie sú vytvárané a odovzdávané zvonku.

  4. Lambda výrazy a funkčné rozhrania — namiesto vytvárania nových tried je možné odovzdávať funkcie ako parametre.

Príklad s injekciou závislostí v Android (Kotlin):

interface ClickHandler {
    fun onClick()
}

class MyActivity(private val clickHandler: ClickHandler) {
    fun setup() {
        // Používame odovzdaný handler namiesto vytvorenia nového
        button.setOnClickListener { clickHandler.onClick() }
    }
}

Tento prístup zvyšuje flexibilitu a testovateľnosť kódu, a tiež uľahčuje údržbu a rozširovanie.