Sobes.tech
Junior — Middle

Pode explicar o conceito e a aplicação do método de fábrica nos padrões de design?

sobes.tech IA

Resposta da IA

O padrão de método de fábrica (Factory Method) é um padrão de design que define uma interface para criar um objeto, mas permite às subclasses decidir qual classe instanciar.

Isto é útil quando é necessário delegar a criação de objetos às subclasses, para não ficarem rigidamente ligados a classes específicas.

Exemplo em Swift:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("A usar produto")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("B usar produto")
    }
}

protocol Creator {
    func factoryMethod() -> Product
}

class CreatorA: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductA()
    }
}

class CreatorB: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductB()
    }
}

// Uso
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Vai imprimir: A usar produto

Desta forma, o método de fábrica permite criar objetos sem especificar a classe concreta, facilitando a extensão e manutenção do código.