设计模式——代理模式
从这里开始,从新开始我的java后端学习日记,以前那个sql学习日记在现在读来实在是太长了。所以,仪式后的更新模式还是改为短篇幅,琐碎些。而且以问题的解决和各种编程思想为主,不在进行单独的某个技术的写作了,因为要真的是学习并使用之后,这些一开始学习所记录的东西的价值就会大幅缩水。
今天这里就先以代理模式开个头。
代理模式是什么
代理模式其实就是,两个类去实现同一个规范,这两个类分为代理类和被代理类。其中被代理类是用来实现主要方法的,而代理类是用来实现琐碎功能的。其可以对代理类进行一定的封装,并在调用时不仅执行主要方法,同时还会执行被代理类中的琐碎方法,而在使用的时候,我们一般都只使用代理类去调用方法。
代理类的好处
使代码具有良好的扩展性,进行了一定的解耦。
代理类的用途
现在以我见识到的,代理模式通常会应用与AOP编程,因为其具有良好的扩展性。
代理类的种类
1.静态代理
即为某一个类特定的去实现接口,并为该类去实现特定的代理类(固定的,死板的,并没有抽象出公用功能)。
2.动态代理
即通过java的反射机制,为所有传入的被代理类对象,都创建与其相关的代理类。
动态代理的实现
1 | package com.srx.spring.Dao.proxy; |