Junior — Middle
Можете ли да објасните концепт и примену фабричког метода у шаблонима дизајна?
sobes.tech АИ
Одговор од АИ
Fabrika metod (Factory Method) je obrazac dizajna koji definiše interfejs za kreiranje objekta, ali omogućava podklasama da odluče koji će klasu instancirati.
Ovo je korisno kada želite da delegirate kreiranje objekata podklasama, kako ne biste bili čvrsto vezani za konkretne klase.
Primer u Swift-u:
protocol Product {
func use()
}
class ConcreteProductA: Product {
func use() {
print("Koristi se proizvod A")
}
}
class ConcreteProductB: Product {
func use() {
print("Koristi se proizvod B")
}
}
protocol Creator {
func factoryMethod() -> Product
}
class CreatorA: Creator {
func factoryMethod() -> Product {
return ConcreteProductA()
}
}
class CreatorB: Creator {
func factoryMethod() -> Product {
return ConcreteProductB()
}
}
// Upotreba
let creator: Creator = CreatorA()
let product = creator.factoryMethod()
product.use() // Ispisaće: Koristi se proizvod A
Na ovaj način, fabrička metoda omogućava kreiranje objekata bez specificiranja konkretne klase, što olakšava proširenje i održavanje koda.