代理模式
也叫委托模式.定义:为其他对象提供⼀种代理以控制对这个对象的访问.它的作⽤就是通过提供⼀个代理类,让我们 在调⽤⽬标⽅法的时候,不再是直接对⽬标⽅法进⾏调⽤,⽽是通过代理类间接调⽤,在某些情况下,⼀个对象不适合或者不能直接引⽤另⼀个对象,⽽代理对象可以在客⼾端和⽬标对象之间起到中介的作⽤.
使⽤代理前:
使⽤代理后:
由于静态代理基本不用,所以直接介绍动态代理
其中静态代理表示在创建代理对象时就已经知道了目标对象是谁,以及要代理执行的操作是什么
而动态代理就表示在程序运行时根据需要代理的内容来动态的创建代理对象
JDK 动态代理类实现步骤
1. 定义⼀个接口(目标对象要进行的操作)及其实现类(目标对象)(静态代理中的 HouseSubject 和 Landlord )
2. 实现 InvocationHandler 接口并重写 invoke ⽅法,在 invoke ⽅法中我们会调⽤⽬标⽅法(被代理类的⽅法)并⾃定义⼀些处理逻辑(定义代理对象的逻辑)