Python实现简单的工厂设计模式

(1)问题分析

面试官主要想对工厂模式的理解与实际应用考核。

(2)核心问题讲解

class Person:
   def __init__(self):
       self.name = None
       self.gender = None
   def getName(self):
       return self.name
   def getGender(self):
       return self.gender
class Male(Person):
   def __init__(self, name):
       print "Hello Mr." + name
class Female(Person):
   def __init__(self, name):
       print "Hello Miss." + name
class Factory:
   def getPerson(self, name, gender):
       if gender == 'M':
           return Male(name)
       if gender == 'F':
           return Female(name)
if __name__ == '__main__':
   factory = Factory()
   person = factory.getPerson("Chetan", "M")

(3)问题扩展

工厂模式,就是通过一个指定的“工厂”获得需要的“产品”,在设计模式中主要用于抽象对象的创建过程,让用户可以指定自己想要的对象,而不必关心对象的实例化过程。工厂模式中包含一个超类,这个超类提供了一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。

(4)结合项目中使用

点击此处
隐藏目录