工厂模式
在面向对象编程中,“工厂”表示一个负责创建其他类型对象的类。
工厂模式优点
1.松耦合,即对象的创建可以独立于类的实现
2.创建对象只需知道接口,方法,参数即可。
3.添加新的类只需在工厂类添加即可。
简单工厂模式
允许接口创建对象,但不会暴露对象的创建逻辑
class Animal(object):
def do_say(self):
pass
class Dog(Animal):
def do_say(self):
print("dog dog dog")
class Cat(Animal):
def do_say(self):
print('cat cat cat')
class SimpleFactory(object):
def make_sound(self, object_type):
return eval(object_type)().do_say()
if __name__ == '__main__':
SF = SimpleFactory()
animal = input('input Cat or Dog:')
SF.make_sound(animal)