Oop 这是一种设计模式吗?具有多个方法的类,用于从不同的输入格式创建不同的对象
以下是已知的设计模式吗 我得到了一个有多种方法的类,可以从不同的输入格式创建不同的对象Oop 这是一种设计模式吗?具有多个方法的类,用于从不同的输入格式创建不同的对象,oop,design-patterns,Oop,Design Patterns,以下是已知的设计模式吗 我得到了一个有多种方法的类,可以从不同的输入格式创建不同的对象 E.g. Apologise for the pseudocode // Definition CreatorClass() { func createCat(input -> array) -> Cat{ Cat aCat = Cat() //...initialisation from array return aCat; } func create
E.g. Apologise for the pseudocode
// Definition
CreatorClass() {
func createCat(input -> array) -> Cat{
Cat aCat = Cat()
//...initialisation from array
return aCat;
}
func createCat(input -> containerClass){
Cat aCat = Cat()
//...initialisation from containerClass
return aCat;
}
func createCat(input -> dictionary){
Cat aCat = Cat()
//...initialisation from dictionary
return aCat;
}
func createDog(input -> dictionary){
Dog aDog = Dog()
//...initialisation from dictionary
return aDog;
}
}
// Usage
Creator aCreator = Creator()
Cat aCat = aCreator.createCat(array)
是的,它被称为a。在我看来像工厂模式。我还没有完全阅读它,虽然它看起来像一个工厂方法,但我想这个问题不应该出现在这里:谢谢!我见过工厂设计模式的实现,使用协议/接口代替,并在类中实现creator方法。。这是一种不同的设计模式吗?我有点困惑,例如,这是同一模式的变体。