Python设计模式
1. 创建型模式
单例模式(Singleton Pattern)
主要作用:确保该类只有一个实例存在
class Singleton(object):
def __init__(self):
pass
def __new__(cls, *args, **kwargs):
if not hasattr(Singleton, "_instance"):
Singleton._instance = object.__new__(cls)
return Singleton._instance
工厂模式(Factory Pattern)
工厂模式包含多个类,其中一个类想象为一个工厂,其他类想象为工厂里的产品,而且产品通常包括父类以及同一个父类下的多个子类,像是一条产品系列线,并且都通过工厂类来’生产‘产品。
好处是提高了可扩展性和可维护性。
class Person:
def __init__(self):
self.name = None
self.gender = None
def getName(self):
return self.name
def getGender(self):
return self.gender
class Male(Person):
def __init__(self, name):
print "Hello Mr." + name
class Female(Person):
def __init__(self, name):
print "Hello Miss." + name
class Factory:
def getPerson(self, name, gender):
if gender == ‘M':
return Male(name)
if gender == 'F':
return Female(name)
建造者模式
将构建与表示分离,实现细节由子类决定,分为接口类,指挥者,建造者。
在这里插入代码片