Python设计模式系列之三: 创建型Factory Method模式

http://tech.ddvip.com   2007年03月30日    社区交流

本文详细介绍Python设计模式系列之三: 创建型Factory Method模式

  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

责编:豆豆技术应用

正在加载评论...