Python设计模式系列之四: 创建型Abstract Factory模式
2007-03-30 12:56:31 来源:WEB开发网核心提示: 代码清单13:concretefactory2.pyclass ConcreteFactory2(AbstractFactory):"""具体工厂角色2 """# 用于创建产品等级结构A中具体对象的工厂方法def createPr
代码清单13:concretefactory2.py
class ConcreteFactory2(AbstractFactory):
""" 具体工厂角色2 """
# 用于创建产品等级结构A中具体对象的工厂方法
def createProductA(self):
product = ConcreteProductA2()
return product
# 用于创建产品等级结构B中具体对象的工厂方法
def createProductB(self):
product = ConcreteProductB2()
return product
抽象产品角色的主要目的是为某一类具体产品提供一个共同的接口,通常只需提供相应的声明就可以了,而不用给出具体的实现。以下是产品等级结构A中抽象产品类AbstractProductA的示例性Python代码:
代码清单14:abstractproducta.py
class AbstractProductA:
""" 产品等级结构A中的抽象产品角色 """
# 产品等级结构A中所有产品类的公共接口
def interface(self):
pass
具体产品角色充当最终的创建目标,一般来讲它是抽象产品类的子类,实现了抽象产品类中定义的所有工厂方法,实际应用时通常会具有比较复杂的业务逻辑。以下是产品等级结构A中具体产品类ConcreateProductA1的示例性Python代码:
代码清单15:concreteproducta1.py
class ConcreateProductA1(AbstractProductA):
""" 产品等级结构A中的具体产品角色1 """
# 产品等级结构A中公共接口的实现
def interface(self):
print "ConcreateProductA1 method."
更多精彩
赞助商链接