#Java#Java设计模式学习笔记:代理模式(一)


#Java#Java设计模式学习笔记:代理模式(一)
文章图片
#Java#Java设计模式学习笔记:代理模式(一)
文章图片
#Java#Java设计模式学习笔记:代理模式(一)
今天学习代理模式 , 简单记一下笔记 , 代理模式其实就是使客户端在使用目标对象时 , 不直接操作目标对象 , 而是通过代理对象来操作目标对象 , 代理对象是对目标对象的增强 。
今天先说下静态代理 , 静态代理的实现模式一般是:首先创建一个接口(JDK代理都是面向接口的) , 然后创建具体实现类来实现这个接口 , 然后再创建一个代理类同样实现这个接口 , 不同之处在于 , 具体实现类的方法中需要将接口中定义的方法的业务逻辑功能实现 , 而代理类中的方法只要调用具体类中的对应方法即可 , 这样我们在需要使用接口中的某个方法的功能时直接调用代理类的方法即可 , 将具体的实现类隐藏在底层 , 先用一个简单的例子来说明 。
场景:张三是个IT狗 , 到了找媳妇的年龄了 , 但是天天加班没时间去撩妹 , 周围都是一群IT男 , 张三又不想搞基 。 张三他爸看在眼里急在心里 , 着急抱孙子 , 于是 , 和张三一合计 , 决定亲自出马去相亲!不对 , 是亲自出马帮张三相亲!他爸问张三有啥要求 , 张三就三个字:“白富美” , 张老三就去了公园的相亲角 , 开始帮儿子物色相亲对象 , 只要是符合张三标准的女性 , 他都去聊一下 , 终于找到一个比较满意的 , 双方来电了 , 开始和张三交往 , 他爸很开心 , 拿出小本本把此次经验记好 , 以备不时之需 。
场景描述完了 , 这就是静态代理在生活中的使用场景 , 简单的说就是 , 张三他爸代理张三找老婆这个事 。 上代码:
接口:
实现类:
代理类:
测试类:
运行结果:
【#Java#Java设计模式学习笔记:代理模式(一)】看上去是执行的张三他爸找老婆的方法 , 其实 , 调用的还是张三找老婆的方法 , 同时张三他爸在帮张三找老婆之前和之后 , 还做了额外的几件事 , 即对目标对象的增强 , 这就是静态代理最简单的一个实现 , 下次继续分析静态代理的缺点以及如何从静态代理转为动态代理 。