现在的位置: 首页 > 综合 > 正文

Python设计模式1–工厂方法模式

2013年10月08日 ⁄ 综合 ⁄ 共 530字 ⁄ 字号 评论关闭

 

    Python关于设计模式的书比较少,至少中文版比较少。网上有几篇讲Python设计模式的文章,但还太少。因此我在这里再写几篇。 为了区别与其他关于Python设计模式的文章,因此本系列就叫"良少版Python设计模式"。以免毁了其他关于Python设计模式作者的清誉啦:)

                                            

工厂方法模式

class
A(object):

    def
__init__(self):

        print
"A new"

        object.__init__(self)

class
B(object):

    def
__init__(self):

        print
"B new"

        object.__init__(self)

def
createObj(type):

      eval(type)()

 

createObj("A")

 

   createObj就是一个工厂方法,它根据参数创建了不同的对象。

 

      因为Python的函数是第一类的机制,因此不需要像Java,Ruby那样在类中定义一个类函数。直接的模块级函数即可。

      

      Python是动态语言,可以使用eval把字符串直接转为Python表示式执行。因此上述调用可行。

抱歉!评论已关闭.