Junior — Middle
Care este rolul și aplicarea modelelor de fabrică în programare?
sobes.tech AI
Răspuns de la AI
Modelul Factory Method (Metoda Fabrica) este utilizat pentru a crea obiecte fără a specifica clasa concretă a obiectului creat. El definește o interfață pentru crearea unui obiect, dar permite subclasei să decidă ce clasă să instanțieze.
În Flutter (și în programarea în general), metodele de fabrică sunt utilizate pentru:
- Încapsularea logicii de creare a obiectelor, mai ales dacă crearea este complexă sau depinde de condiții.
- Permite schimbarea clasei concrete a obiectului creat fără a modifica codul care îl utilizează.
- Simplificarea testării și extinderii codului.
Exemplu în Dart/Flutter:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() => print('Renderizarea butonului Android');
}
class IOSButton implements Button {
@override
void render() => print('Renderizarea butonului iOS');
}
class Dialog {
Button createButton(String platform) {
if (platform == 'Android') {
return AndroidButton();
} else if (platform == 'iOS') {
return IOSButton();
} else {
throw Exception('Platformă necunoscută');
}
}
void render() {
Button button = createButton('Android');
button.render();
}
}
Aici, metoda createButton este o metodă de fabrică care creează diferite obiecte în funcție de platformă.