Python设计模式系列之三: 创建型Factory Method模式
2007-03-30 12:55:15 来源:WEB开发网核心提示: EditableFactory接口是在PIM中应用工厂方法模式的核心,其完整的代码如清单5所示,Python设计模式系列之三: 创建型Factory Method模式(7),与简单工厂模式中负责创建所有对象的"超级类"不同,EditableFactory只定义了如何实例
EditableFactory接口是在PIM中应用工厂方法模式的核心,其完整的代码如清单5所示。与简单工厂模式中负责创建所有对象的"超级类"不同,EditableFactory只定义了如何实例化Editable的工厂方法createEditable(),并不掌握它们的生杀大权,真正负责完成创建工作的是EditableFactory的子类。
代码清单5:editablefactory.py
class EditableFactory:
""" 用于创建Editable的工厂类 """
# 实例化Editable对象
def createEditable(self, master):
pass
EditableAddressFactory是EditableFactory的一个具体实现,PIM使用它来实例化EditableAddress对象,其完整的代码如清单6所示。
代码清单6:editableaddressfactory.py
from editablefactory import EditableFactory
from editableaddress import EditableAddress
class EditableAddressFactory(EditableFactory):
""" 用于创建EditableAddress的工厂类 """
# 重载EditableFactory中的方法,实例化EditableAddress对象
def createEditable(self, master):
address = EditableAddress(master)
return address
EditablePhoneFactory是EditableFactory的另一个具体实现,PIM使用它来实例化EditablePhone对象,其完整的代码如清单7所示。
代码清单7:editablephonefactory.py
from editablefactory import EditableFactory
from editablephone import EditablePhone
class EditablePhoneFactory(EditableFactory):
""" 用于创建EditablePhone的工厂类 """
# 重载EditableFactory中的方法,实例化EditablePhone对象
def createEditable(self, master):
phone = EditablePhone(master)
return phone
更多精彩
赞助商链接