Junior — Middle
Czy możesz wyjaśnić koncepcję i zastosowanie metody fabrycznej w wzorcach projektowych?
sobes.tech AI
Odpowiedź od AI
Metoda fabryczna (Factory Method) to wzorzec projektowy, który definiuje interfejs do tworzenia obiektu, ale pozwala podklasom decydować, którą klasę zainstancjonować.
Jest to przydatne, gdy chcesz delegować tworzenie obiektów podklasom, aby nie być sztywno związanym z konkretnymi klasami.
Przykład w Swift:
protocol Product {
func use()
}
class ConcreteProductA: Product {
func use() {
print("Używamy produktu A")
}
}
class ConcreteProductB: Product {
func use() {
print("Używamy produktu B")
}
}
protocol Creator {
func factoryMethod() -> Product
}
class CreatorA: Creator {
func factoryMethod() -> Product {
return ConcreteProductA()
}
}
class CreatorB: Creator {
func factoryMethod() -> Product {
return ConcreteProductB()
}
}
// Użycie
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use() // Wypisze: Używamy produktu A
W ten sposób metoda fabryczna pozwala na tworzenie obiektów bez wskazywania konkretnej klasy, co ułatwia rozbudowę i utrzymanie kodu.