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

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."

上一页  5 6 7 8 9 10 

Tags:Python 设计模式 系列

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