WEB开发网
开发学院软件开发Python Python设计模式系列之三: 创建型Factory Method模... 阅读

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

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Python 设计模式 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接