一.简介
代理模式(Proxy):由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时代理对象作为访问目标对象(被代理对象)的中介。
模式结构:
1.抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。
2.真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是代理对象引用的对象。
3.代理(Proxy)类:提供了与真实主题相同的接口,内部含有对真实主题的引用,它可以访问、控制或扩展真实主题的功能。
二.实现
1.java 接口动态代理
2.cglib 子类代理
三.总结
1.spring aop 中大量使用动态代理,如数据库声明式事务管理等