静态代理、装饰者、动态代理
代理模式是Java常见的设计模式之一。
代理模式是指不直接调用实际对象,而是通过调用代理,来间接的调用实际的对象。
为什么要采用这种间接的形式来调用对象呢?
场景①:不想直接访问
实际的对象;
场景②:对实际的对象的访问存在困难
;
场景③:有需求需要将封装对象访问/操作的成员方法进行逻辑增强,而不修改原方法
;
在现实生活中,这种情形非常的常见,比如请一个律师代理来打官司。
代理模式可以有 2 种实现的方式:
一种是静态代理
,另一种是各大框架都喜欢的动态代理
。
还有一种类似静态代理的装饰者模式
。
现有 User 实体类:
public class User {
private int id; // 编号属性 id