Sobes.tech
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

По този начин, фабричният метод позволява създаването на обекти без да се посочва конкретният клас, което улеснява разширяването и поддръжката на кода.