工厂模式

工厂模式(Factory Pattern)是 最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

简单的工厂模式就来自生活中的工厂这个概念:只要提供原材料,图纸就能生产出你想要的产品。 

工厂方法:

def fatory(type):
    if type == 'iphone':
        print('Make an iphone')
        return ('An iphone')

    if type == 'pixel':
        print('Make a pixel')
        return ('A pixel')

当我输入指定的原料时(type)就能生成相应的手机。

抽象工厂:

抽象工厂即对普通的工厂方法进行抽象,即它生产出来的应该是能生产各种新产品的工厂。

class Male(object):

    def __init__(self, name):
        print("Hello Mr." + name)


class Female(object):

    def __init__(self, name):
        print("Hello Miss." + name)


class Born():
    def bornPerson(self, name, gender):
        if gender == 'm':
            return Male(name)
        elif gender == 'f':
            return Female(name)

factory = Born()

factory.bornPerson('Jack', 'm')
#Hello Mr.Jack

可以看到需要生产男人时就调用Male这个产生男人的工厂。

上一篇:单例模式

下一篇:Classmethod, staticmethod, classonlymethod