一、分类
静态代理模式
动态代理模式
二、说明
静态代理模式
/*** 与适配器模式的区别,适配器模式
主要改变所考虑对象的接口,* 而代理模式不能改变所代理类的接口。与装饰器模式的区别,*装饰器模式
是为了增强功能,代理模式是为了加以控制*/publicclassProxySigntureServiceimplementsSigntureService{privateSigntureServicesignatureService;/*** Default constructor*/publicProxySigntureService(SigntureServicesignatureService){this.signatureService=signatureService;}publicvoidsign(){//控制对这个对象的访问// 实现电子签名
}}
动态代理模式
public class DynamicProxySignatureService implements InvocationHandler { private Object obj; public DynamicProxySignatureService(Object obj) { this.obj = obj; } @Override public Objectinvoke
(Object proxyObj, Method method, Object[] objects) throws Throwable { return method.invoke(obj,objects); } }
源代码
:
hanko/design-pattern
gitee.com/hankzhousandyos/design-pattern/tree/master