python模式工厂模式原理及实例详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

python模式⼯⼚模式原理及实例详解
这篇⽂章主要介绍了python模式⼯⼚模式原理及实例详解,⽂中通过⽰例代码介绍的⾮常详细,对⼤家的学习或者⼯作具有⼀定的参考学习价值,需要的朋友可以参考下
⼯⼚模式是⼀个在软件开发中⽤来创建对象的设计模式。

⼯⼚模式包涵⼀个超类。

这个超类提供⼀个抽象化的接⼝来创建⼀个特定类型的对象,⽽不是决定哪个对象可以被创建。

为了实现此⽅法,需要创建⼀个⼯⼚类创建并返回。

当程序运⾏输⼊⼀个“类型”的时候,需要创建于此相应的对象。

这就⽤到了⼯⼚模式。

在如此情形中,实现代码基于⼯⼚模式,可以达到可扩展,可维护的代码。

当增加⼀个新的类型,不在需要修改已存在的类,只增加能够产⽣新类型的⼦类。

简短的说,当以下情形可以使⽤⼯⼚模式:
1.不知道⽤户想要创建什么样的对象
2.当你想要创建⼀个可扩展的关联在创建类与⽀持创建对象的类之间。

⼀个例⼦更能很好的理解以上的内容:
我们有⼀个基类Person ,包涵获取名字,性别的⽅法。

有两个⼦类male 和female,可以打招呼。

还有⼀个⼯⼚类。

⼯⼚类有⼀个⽅法名getPerson有两个输⼊参数,名字和性别。

⽤户使⽤⼯⼚类,通过调⽤getPerson⽅法。

在程序运⾏期间,⽤户传递性别给⼯⼚,⼯⼚创建⼀个与性别有关的对象。

因此⼯⼚类在运⾏期,决定了哪个对象应该被创建。

class Person:
def __init__(self):
= None
self.gender = None
def getName(self):
return
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")
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档