摘要:
在上一篇文章《设计模式:Java的代理模式》中讲解了代理模式的静态代理方法。比静态代理更灵活的就是动态代理了。Java动态代理类位于java.lang.reflect包下,一般主要涉及到以下两个类:(1)Interface InvocationHandler:该接口中仅定义了一个方法 public object invoke(Object obj,Method method, Object[] args)在实际使用时,第一个参数obj一般是指代理类,method是被代理的方法,如前文中的request(),args为该方法的参数数组。 这个抽象方法在代理类中动态实现。(2)Proxy:该类即. 阅读全文
摘要:
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有: a)抽象角色:声明真实对象和代理对象的共同接口。 b)代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 c)真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。实例:抽象角色:一个抽象类(接口)Subjectpub... 阅读全文