结构型模式-静态代理模式
# 模式类型:结构性模型 # 模型方法:静态代理模式 # 作用:在不修改目标代码的情况下,可以控制目标代码的访问,可以在其前后添加自己的业务代码 # 使用场景:监控。日志,限流 from abc import ABCMeta, abstractmethod class ITeacher(metaclass=ABCMeta): """教师接口""" @abstractmethod def teach(self): pass class TeacherProxy(ITeacher): target = None def __init__(self, target: ITeacher): self.target = target def teach(self): print("课前准备工作") self.target.teach() print("课后结尾工作") class TeacherLi(ITeacher): def teach(self): print("李老师讲课") if __name__ == "__main__": # 创建目标对象 li_teacher = TeacherLi() # 创建代理对象,并将被代理对象传给代理对象 teacher_proxy = TeacherProxy(li_teacher) # 通过代理对象,调用被代理对象方法 teacher_proxy.teach()