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.