装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用; 装饰模式应该为所装饰的对象增强功能;代理模式对代理的对象施加控制,并不提供对象本身的增强功能 二者的实现机制确实是一样的,可以看到他们的实例代码重复是很 ...
分类:
编程语言 时间:
2016-12-03 07:40:33
阅读次数:
306
java动态代理: java动态代理类位于java.lang.reflect包下,一般主要涉及两个类: 1.Interface InvocationHandler 该接口中仅定义了一个方法:Object invoke(Object proxy,Method method,Object[] args) ...
分类:
编程语言 时间:
2016-12-01 21:18:04
阅读次数:
188
代理模式: 代理模式的作用:为其他对象提供一种代理以控制对 特定对象 的访问。 某种情况下,一个客户不想或者直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用:通过代理对象引用。 代理模式一般涉及到的角色: 抽象角色:声明真实对象和代理对象的共同接口。可以是一个抽象类或者一个接口 ...
分类:
编程语言 时间:
2016-12-01 14:52:04
阅读次数:
211
一、代理是Java常用的设计模式,代理类通过调用被代理类的相关方法,并对相关方法进行增强。加入一些非业务性代码,比如事务、日志、报警发邮件等操作。 二、jdk静态代理 1、业务接口 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * 业务接口 * @author pc * */ ...
分类:
编程语言 时间:
2016-11-14 15:30:16
阅读次数:
285
案例需求:需要在原来的dao实现类的方法中,加入日志的记录功能,对原有的功能进行增强 1. 静态代理 静态代理的组成: 抽象接口:目标类和代理类必须实现同一个抽象接口。 目标类:封装了原始的核心功能 代理类:拥有目标对象的引用,同时完成扩展功能的实现 总结:将核心功能和扩展功能在代码的实现上,进行了 ...
分类:
其他好文 时间:
2016-11-13 13:35:33
阅读次数:
126
作为一个初级开发者,可能不会接触到代理模式,但是在很多框架的使用中都不知不觉使用了代理模式,比如servlet的过滤器链,spring的AOP,以及spring mvc的拦截器等。所以了解代理模式对于个人的成长是不可避免的。 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为 ...
分类:
编程语言 时间:
2016-10-30 19:10:58
阅读次数:
342
一、代理是Java常用的设计模式,代理类通过调用被代理类的相关方法,并对相关方法进行增强。加入一些非业务性代码,比如事务、日志、报警发邮件等操作。 二、jdk静态代理 1、业务接口 2、业务实现类 3、代理类 4、测试类 5、结果 三、jdk动态代理 1、业务接口 2、业务接口实现类 3、代理类 4 ...
分类:
编程语言 时间:
2016-10-09 13:56:20
阅读次数:
236
1.代理模式使用到的接口与类 1.1java.lang.reflect Interface InvocationHandler Object invoke(Object proxy, Method method, Object[] args) throws Throwable 1.2 java.la ...
分类:
编程语言 时间:
2016-10-09 13:43:30
阅读次数:
165
静态代理 1、新建一个接口,这个接口所提供的方法是关于数据库操作的 public interface EmployeeDao { public void updateSalary(); } 2、建一个目标类实现这个接口,这个目标类是我们要进行的业务 public class EmployeeDaoI ...
分类:
编程语言 时间:
2016-10-08 16:14:25
阅读次数:
124
Java代理模式分为静态代理和动态代理模式 静态代理模式比较简单,直接上图和代码: 代理模式类图如下: 在代理模式中的角色: ● 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。 ● 目标对象角色:定义了代理对象所代表的目标对象。 ● 代理对 ...
分类:
编程语言 时间:
2016-10-02 17:21:43
阅读次数:
207