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:
-
Factory Method (Fabriekmethode) — creëert objecten via speciale methoden, waarbij de details van de creatie worden verborgen.
-
Dependency Injection (Afhankelijkheidsinjectie) — objecten worden van buitenaf aan de klasse doorgegeven, meestal via de constructor of een setter, wat het vervangen en testen vergemakkelijkt.
-
Gebruik van interfaces en abstracties — de code werkt met interfaces, en concrete implementaties worden van buitenaf gemaakt en doorgegeven.
-
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.