一、什么是代理
通常我們說的代理,在生活中就像中介、經紀人的角色。
目標對象/被代理對象 —— 房主:真正的租房的方法?
代理對象 ——- 黑中介:有租房子的方法(調用房主的租房的方法)?
執行代理對象方法的對象 —- 租房的人?
流程:我們要租房—–>中介(租房的方法)——>房主(租房的方法)?
抽象:調用對象—–>代理對象——>目標對象
二、靜態代理
先看看比較常見的靜態代理,也就是裝飾設計模式:?
三、動態代理
? ? 1、JDK提供的,通過實現InvocationHandler接口。JDK 給我們提供的動態代理只能代理接口,而不能代理沒有接口的類。
? ? 2、CGLib動態代理:可以代理沒有接口的類
????????https://github.com/zhangke3016/MethodInterceptProxy