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

豆豆网   技术应用频道   2007年03月30日    社区交流

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

    代码清单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."

作者:肖文鹏    责编:豆豆技术应用

正在加载评论...