提供一个供客户端可以访问系统的接口,隐藏系统的复杂性
使用场景
- 客户端不需要知道服务端复杂的调用关系,只需要调用提供的接口
- 接待人员
Demo
"""
外观模式
"""
class Shape:
def draw(self):
raise NotImplementedError
class 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()