提供一个供客户端可以访问系统的接口,隐藏系统的复杂性
使用场景
- 客户端不需要知道服务端复杂的调用关系,只需要调用提供的接口
- 接待人员
Demo
"""外观模式"""class Shape:def draw(self):raise NotImplementedErrorclass Circle(Shape):def draw(self):print("this is circle")class Rectangle(Shape):def draw(self):print("this is rectangle")class Square(Shape):def draw(self):print("this is square")class ShapeMaker:def __init__(self):self.circle = Circle()self.rectangle = Rectangle()self.square = Square()def draw_circle(self):self.circle.draw()def draw_rectangle(self):self.rectangle.draw()def draw_square(self):self.square.draw()if __name__ == '__main__':s = ShapeMaker()s.draw_circle()s.draw_square()s.draw_rectangle()
