Sobes.tech
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ă.