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 продуктуну колдонуп жатабыз

Мындайча айтканда, фабрика ыкмасы, конкреттүү классты көрсөтпөстөн, объекттерди түзүүгө мүмкүндүк берет, бул коддун кеңейишин жана колдоосун жеңилдетет.