# 模式类型:结构性模型 # 模型方法:静态代理模式 # 作用:在不修改目标代码的情况下,可以控制目标代码的访问,可以在其前后添加自己的业务代码 # 使用场景:监控。日志,限流 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()
标签:__,target,静态,ITeacher,self,代理,模式,teach,结构型 From: https://www.cnblogs.com/fuchenjie/p/17506049.html