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

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

 2007-03-30 12:55:15 来源:WEB开发网   
核心提示: 具体产品(Concrete Product)角色是工厂方法模式的创建目标,所有创建的对象都是充当这一角色的某个具体类的实例,Python设计模式系列之三: 创建型Factory Method模式(10),抽象工厂角色负责声明工厂方法(factory method),用来"生产&q

具体产品(Concrete Product)角色  是工厂方法模式的创建目标,所有创建的对象都是充当这一角色的某个具体类的实例。

抽象工厂角色负责声明工厂方法(factory method),用来"生产"抽象产品,以下是抽象工厂的示例性Python代码:

  代码清单9:creator.py
class Creator:
 """ 抽象工厂角色 """
 
 # 创建抽象产品的工厂方法
 def factoryMethod(self):
  pass

具体工厂角色负责创建一个具体产品的实例,并将其返回给调用者。具体工厂是与具体产品相关的,实现时一般常用的做法是为每个具体产品定义一个具体工厂。以下是具体工厂的示例性Python代码:

  代码清单10:concretecreator.py
class ConcreteCreator(Creator):
 """ 具体工厂角色 """
 
 # 创建具体产品的工厂方法
 def factoryMethod(self):
  product = ConcreteProduct()
  return product

抽象产品角色的主要目的是为所有的具体产品提供一个共同的接口,通常只需给出相应的声明就可以了,而不用给出具体的实现。以下是抽象产品类的示例性Python代码:

  代码清单11:product.py
class Product:
 """ 抽象产品角色 """
 
 # 所有产品类的公共接口
 def interface(self):
  pass

具体产品角色充当最终的创建目标,一般来讲它是抽象产品类的子类,实现了抽象产品类中定义的所有工厂方法,实际应用时通常会具有比较复杂的业务逻辑。以下是具体产品类的示例性Python代码:

上一页  5 6 7 8 9 10 

Tags:Python 设计模式 系列

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