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:
-
Faktoriálna metóda (Factory Method) — vytvára objekty prostredníctvom špeciálnych metód, skrýva detaily tvorby.
-
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.
-
Použitie rozhraní a abstrakcií — kód pracuje s rozhraniami, a konkrétne implementácie sú vytvárané a odovzdávané zvonku.
-
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.