Sobes.tech
Junior — Middle

Qual é o papel e a aplicação dos padrões de métodos de fábrica na programação?

sobes.tech IA

Resposta da IA

O padrão de método de fábrica (Factory Method) é utilizado para criar objetos sem especificar a classe concreta do objeto a ser criado. Ele define uma interface para criar um objeto, mas permite às subclasses decidir qual classe instanciar.

Em Flutter (e na programação em geral), os métodos de fábrica são utilizados para:

  • Encapsular a lógica de criação de objetos, especialmente se a criação for complexa ou depender de condições.
  • Permitir alterar a classe concreta do objeto criado sem modificar o código que o utiliza.
  • Simplificar testes e extensibilidade do código.

Exemplo em Dart/Flutter:

abstract class Button {
  void render();
}

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

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

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

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

Aqui, o método createButton é um método de fábrica que cria diferentes objetos dependendo da plataforma.