定义:为其他对象提供一种代理以控制对这个对象的访问
代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。值得注意的是,代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。
import abc
class Subject(metaclass=abc.ABCMeta):
@abc.abstractmethod
def request(self):
pass
class RealSubject(Subject):
def request(self):
print("request--------->")
class Proxy(object):
def __init__(self, subject: Subject):
self.sub = subject
def request(self):
self.sub.request()
if __name__ == "__main__":
new_sub = RealSubject()
new_pro = Proxy(new_sub)
new_pro.request()