Junior — Middle
Можете ли да обясните концепцията и приложението на фабричния метод в моделите за проектиране?
sobes.tech AI
Отговор от AI
Фабричният метод (Factory Method) е шаблон за проектиране, който дефинира интерфейс за създаване на обект, но позволява на подкласовете да решават кой клас да инстанцират.
Това е полезно, когато трябва да делегирате създаването на обекти на подкласовете, за да не се обвързват строго с конкретни класове.
Пример на Swift:
protocol Product {
func use()
}
class ConcreteProductA: Product {
func use() {
print("Използване на продукт A")
}
}
class ConcreteProductB: Product {
func use() {
print("Използване на продукт B")
}
}
protocol Creator {
func factoryMethod() -> Product
}
class CreatorA: Creator {
func factoryMethod() -> Product {
return ConcreteProductA()
}
}
class CreatorB: Creator {
func factoryMethod() -> Product {
return ConcreteProductB()
}
}
// Използване
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use() // Ще изведе: Използване на продукт A
По този начин, фабричният метод позволява създаването на обекти без да се посочва конкретният клас, което улеснява разширяването и поддръжката на кода.