您的位置:首页 > 编程语言 > Python开发

Python设计模式之工厂模式

2018-03-31 23:25 260 查看
1,什么是工厂模式

工厂模式是软件开发过程中用来创建对象的一种设计模式。工厂类方法通过传入不同的参数,并将参数作为对应类的构造方法的参数,来创建对应的类
2,为什么使用工厂模式

当程序运行输入一个“类型”的时候,需要创建于此相应的对象。这就用到了工厂模式。在如此情形中,实现代码基于工厂模式,可以达到可扩展,可维护的代码。当增加一个新的类型,不在需要修改已存在的类,只增加能够产生新类型的子类。
3,工厂模式的使用场景

1.      不知道用户想要创建什么样的对象
2.      需要根据参数来创建指定实例对象
4,工厂模式举例

有一个基类Person,构造函数中包含name,sex;两个子类分别为Famle和Male,有打招呼的方法;有一个工厂类Factory,getPerson方法有两个参数name和sex;
用户创建工厂类的对象,调用getPerson方法,通过传入的参数sex程序决定创建哪个类的对象
代码如下:
#coding=utf-8
class Person(object):
    def __init__(self,name,sex):
        self.name=name
        self.sex=sex
class Male(Person):
    def say_hello(self):
        print'hello,I am %s' %self.name

class Female(Person):
    def say_hello(self):
        print'hello,I am mises %s' %self.name
class Male(Person):
    def say_hello(self):
        print'hello,I am miss %s' %self.name
class Factory():
    def getPerson(self,name,sex):
        if sex=='f':
            returnFemale(name,sex)
        elif sex=='m':
            returnMale(name,sex)
if __name__=='__main__':
    f=Factory()
    girl=f.getPerson('西施','f')
    girl.say_hello()
    boy=f.getPerson('吕布','m')
    boy.say_hello()
执行结果:
hello,I am mises 西施
hello,I am miss 吕布
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: