Sobes.tech
Junior — Middle

¿Cuál es el papel y la aplicación de los patrones de métodos de fábrica en programación?

sobes.tech AI

Respuesta de la IA

El patrón de método de fábrica (Factory Method) se utiliza para crear objetos sin especificar la clase concreta del objeto que se va a crear. Define una interfaz para crear un objeto, pero permite a las subclases decidir qué clase instanciar.

En Flutter (y en programación en general), los métodos de fábrica se aplican para:

  • Encapsular la lógica de creación de objetos, especialmente si la creación es compleja o depende de condiciones.
  • Permitir cambiar la clase concreta del objeto creado sin modificar el código que lo utiliza.
  • Simplificar las pruebas y la extensibilidad del código.

Ejemplo en Dart/Flutter:

abstract class Button {
  void render();
}

class AndroidButton implements Button {
  @override
  void render() => print('Renderizar botón Android');
}

class IOSButton implements Button {
  @override
  void render() => print('Renderizar botón iOS');
}

class Dialog {
  Button createButton(String platform) {
    if (platform == 'Android') {
      return AndroidButton();
    } else if (platform == 'iOS') {
      return IOSButton();
    } else {
      throw Exception('Plataforma desconocida');
    }
  }

  void render() {
    Button button = createButton('Android');
    button.render();
  }
}

Aquí, el método createButton es un método de fábrica que crea diferentes objetos dependiendo de la plataforma.