最近开始学习python,发现python很方便,提供了丰富的函数支持反射,本人之前主要以java编程为主,在学习python的过程中,学习到了Python的装饰器,结合之前java的代理模式,于是想要编写基于python的对象代理
代理模式的理论知识网上有很多相关的材料,总而言之就是对象有一个配套的代理对象,对代理对象进行调用时,代理对象转发调用给实际对象本身
下面介绍一些自己写的一些类:
ProxyFactory 传入hcls(被装饰类的处理器类型)作为init的参数, 传入 cls(被装饰类的类型)作为call的参数
class ProxyFactory:
def __init__(self, hcls):
if issubclass(hcls, InvocationHandler) or hcls is InvocationHandler:
self.hcls = hcls
else:
raise HandlerException(hcls)
def __call__(self, cls):
return Proxy(cls, self.hcls)
Proxy 传入cls(被装饰类的类型)、hcls(被装饰类的处理器类型)作为init的参数
class Proxy:
def __init__(self, cls, hcls):
self.cls = cls
self.hcls = hcls
self.hand