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代码:
更多精彩
赞助商链接