Junior — Middle
Kun je een voorbeeld geven van de implementatie van het factory method patroon in de code?
sobes.tech AI
Antwoord van AI
Het Factory Method-patroon maakt het mogelijk om objecten te maken zonder de specifieke klasse van het te maken object aan te geven. In Flutter is dit handig voor het maken van widgets met verschillende logica.
Voorbeeldimplementatie in Dart:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() {
print('Android-stijl knop renderen');
}
}
class IOSButton implements Button {
@override
void render() {
print('iOS-stijl knop renderen');
}
}
abstract class Dialog {
Button createButton();
void render() {
Button button = createButton();
button.render();
}
}
class AndroidDialog extends Dialog {
@override
Button createButton() => AndroidButton();
}
class IOSDialog extends Dialog {
@override
Button createButton() => IOSButton();
}
void main() {
Dialog dialog;
// Afhankelijk van het platform maken we het juiste dialoogvenster
bool isAndroid = true;
if (isAndroid) {
dialog = AndroidDialog();
} else {
dialog = IOSDialog();
}
dialog.render();
}
In dit voorbeeld stelt de fabriekmethode createButton subklassen in staat om objecten van verschillende knoptypen te maken, en de clientcode werkt met abstracties.