Sobes.tech
Junior — Middle

Kas saaksite selgitada tehase meetodi kontseptsiooni ja rakendamist disainimustrites?

sobes.tech AI

Vastus AI-lt

Töötlemismeetod (Factory Method) on disainimuster, mis määratleb liidese objekti loomise jaoks, kuid võimaldab alamsüsteemidel otsustada, millist klassi instantsida.

See on kasulik, kui soovite delegeerida objektide loomise alamsüsteemidele, et mitte olla rangelt seotud konkreetsete klassidega.

Näide Swiftis:

protocol Product {
    func use()
}

class ConcreteProductA: Product {
    func use() {
        print("Kasutame toodet A")
    }
}

class ConcreteProductB: Product {
    func use() {
        print("Kasutame toodet B")
    }
}

protocol Creator {
    func factoryMethod() -> Product
}

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

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

// Kasutamine
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use()  // Väljund: Kasutame toodet A

Selle meetodi abil saab luua objekte ilma konkreetset klassi määramata, mis lihtsustab koodi laiendamist ja hooldust.