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

Python设计模式系列之四: 创建型Abstract Factory模式

 2007-03-30 12:56:31 来源:WEB开发网   
核心提示: 抽象工厂角色负责声明用来"生产"抽象产品的工厂方法,在抽象工厂角色中定义的工厂方法通常来讲会有多个,Python设计模式系列之四: 创建型Abstract Factory模式(9),分别用于创建不同产品等级结构中的产品对象,以下是抽象工厂类AbstractFactory

抽象工厂角色负责声明用来"生产"抽象产品的工厂方法,在抽象工厂角色中定义的工厂方法通常来讲会有多个,分别用于创建不同产品等级结构中的产品对象。以下是抽象工厂类AbstractFactory的示例性Python代码。

    代码清单11:abstractfactory.py
class AbstractFactory:
 """ 抽象工厂角色 """
 
 # 用于创建产品等级结构A中抽象对象的工厂方法
 def createProductA(self):
  pass
 
 # 用于创建产品等级结构B中抽象对象的工厂方法
 def createProductB(self):
  pass

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

    代码清单12:concretefactory1.py
class ConcreteFactory1(AbstractFactory):
 """ 具体工厂角色1 """
 
 # 用于创建产品等级结构A中具体对象的工厂方法
 def createProductA(self):
  product = ConcreteProductA1()
  return product
 
 # 用于创建产品等级结构B中具体对象的工厂方法
 def createProductB(self):
  product = ConcreteProductB1()
  return product

一般而言,有多少个产品等级结构,就会在抽象工厂角色中发现多少个工厂方法。在每一个产品等级结构中有多少个具体产品,就会有多少个产品族,同时也就会在工厂等级结构中发现多少个具体工厂。以下是具体工厂类ConcreteFactory2的示例性Python代码:

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

Tags:Python 设计模式 系列

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