跳转至

外观 Façade

🎁 外观

外观模式为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用。

示例:

#!/usr/bin/env python
# encoding: utf-8
"""
外观模式(门面模式)
为子系统中的一组接口提供一个一致的界面.
定义了一个高层接口, 是的这一子系统更加容易使用
- 统一接口人
- 减少依赖
"""


class SystemA(object):
    def call_a(self):
        print("call a")


class SystemB(object):
    def call_b(self):
        print("call b")


class SystemC(object):
    def call_c(self):
        print("call c")


class Facade(object):
    def __init__(self):
        self.sys_a = SystemA()
        self.sys_b = SystemB()
        self.sys_c = SystemC()

    def action_a(self):
        self.sys_a.call_a()
        self.sys_b.call_b()

    def action_b(self):
        self.sys_b.call_b()
        self.sys_c.call_c()


if __name__ == '__main__':
    facade = Facade()
    facade.action_a()