Sobes.tech
Junior — Middle

Ar galite paaiškinti fabrikos metodo koncepciją ir taikymą projektavimo šablonuose?

sobes.tech AI

Atsakymas iš AI

Gamybos metodas (Factory Method) — tai projektavimo šablonas, kuris apibrėžia sąsają objektui kurti, tačiau leidžia pogrupių klasėms nuspręsti, kurią klasę instancijuoti.

Tai naudinga, kai norite pavesti objektų kūrimą pogrupių klasėms, kad nebūtų griežtai susietas su konkrečiomis klasėmis.

Pavyzdys Swift kalba:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("Naudojame produktą A")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("Naudojame produktą B")
    }
}

protocol Creator {
    func factoryMethod() -> Product
}

class CreatorA: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductA()
    }
}

class CreatorB: Creator {
    func factoryMethod() -> Product {
        return ConcreteProductB()
}
}

// Naudojimas
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Išves: Naudojame produktą A

Šiuo būdu, gamybos metodas leidžia kurti objektus be konkrečios klasės nurodymo, kas palengvina kodo plėtimą ir priežiūrą.