Spring(十三):设计模式——代理模式
Spring中AOP的底层原理就是动态代理模式,所以我们在这里对代理模式进行学习。
一、代理模式
1.什么是代理
代理,顾名思义,就是一个人代替另一个人去做他需要做的事情。代理是一种设计模式,具体实现就是一个类代替某个类去实现功能。
我们举一个例子:
我要租房子,我可以找房东直接租房子。同样我可以找中介来租房子,这个中介就是代理,它代理房东来做租赁房子的事情。
2.为什么需要代理模式呢?
我们的开发一般都是纵向开发,当有新的需求出现但又不想改变原有的业务逻辑时,就需要用到代理模式了,代理模式属于横向开发,我们只需要代理原来的业物逻辑并在代理类中添加新的功能即可。
二、静态代理
1.定义一个接口;
2.被代理类实现接口;
3.代理类引用被代理类,并且通过被代理类的方法实现接口。
我们以上图为例子,来进行一个静态代理的简单应用:
1.定义一个rental接口
package com.jms.demo01; //租房接口 public interface rental { void doRental(); }