Sobes.tech
Junior — Middle

Welke benaderingen gebruiken om het directe maken van een functiereferentie in de code te voorkomen?

sobes.tech AI

Antwoord van AI

Om directe creatie van een functie-instantie (bijvoorbeeld een object of klasse) in de code te voorkomen, worden de volgende benaderingen gebruikt:

  1. Factory Method (Fabriekmethode) — creëert objecten via speciale methoden, waarbij de details van de creatie worden verborgen.

  2. Dependency Injection (Afhankelijkheidsinjectie) — objecten worden van buitenaf aan de klasse doorgegeven, meestal via de constructor of een setter, wat het vervangen en testen vergemakkelijkt.

  3. Gebruik van interfaces en abstracties — de code werkt met interfaces, en concrete implementaties worden van buitenaf gemaakt en doorgegeven.

  4. Lambda-uitdrukkingen en functionele interfaces — in plaats van nieuwe klassen te maken, kunnen functies als parameters worden doorgegeven.

Voorbeeld met dependency injection in Android (Kotlin):

interface ClickHandler {
    fun onClick()
}

class MyActivity(private val clickHandler: ClickHandler) {
    fun setup() {
        // We gebruiken de meegeleverde handler in plaats van een nieuwe te maken
        button.setOnClickListener { clickHandler.onClick() }
    }
}

Deze aanpak verhoogt de flexibiliteit en testbaarheid van de code, en maakt onderhoud en uitbreiding eenvoudiger.