Python设计模式(9)-外观模式


# /*外观模式:为外界调用提供一个统一的接口,把其他类中需要用到的方法提取
# * 出来,由外观类进行调用。然后在调用段实例化外观类,以间接调用需要的
# * 方法。这种方式和代理模式有异曲同工之妙。然而,根据迪米特法则,代理
# * 模式应该尽可能的为单个对象进行代理。而外观模式更像是从众多类中提取
# * 有用的方法而组合成的新类*/

class Invoke1:
def methon1(self):
print '调用1'


class Invoke2:
def methon2(self):
print '调用2'


class Invoke3:
def methon3(self):
print '调用3'


class Facde:
def __init__(self):
self.a = Invoke1()
self.b = Invoke2()
self.c = Invoke3()

def unit1(self):
self.a.methon1()
self.b.methon2()
self.c.methon3()

def unit2(self):
self.a.methon1()
self.b.methon2()


if __name__ == "__main__":
facde = Facde()
facde.unit1()
facde.unit2()
posted @ 2016-03-15 08:17  逆风飞行  阅读(212)  评论(0编辑  收藏  举报