代理模式分为 静态代理和动态代理,AOP的地产机制就是动态代理!
学习AOP的基础,先了解静态代理模式。
静态代理还有接口 实体类 接口主要是几个实体类之间产生的联系 比如老师和学生之间就是教导的关系。实体类也就是老师和学生。但是这个例子凸显不出代理的意思,更能凸显的则是房东和中介的及其客户的关系,其中中介就是代理。
//客户类,一般客户都会去找代理!
public class Client {
public static void main(String[] args) {
//房东要租房
Host host = new Host();
//中介帮助房东
Proxy proxy = new Proxy(host);
//你去找中介!
proxy.rent();
}
}
这几个涉及到的实体类都会去实现Rent接口的方法。
静态代理的好处:
可以使得我们的真实的实体会更轻松代码量更少. 不再去关注一些公共的事情 .
公共的业务由代理来完成 . 实现了业务的分工 ,
公共业务发生扩展时变得更加集中和方便 .管理也显得集中。
缺点 :
类多了 , 多了代理类 , 工作量变大了 . 开发效率降低 .
想要静态代理的好处,又不想要静态代理的缺点,所以 , 就有了动态代理。