定义给目标对象提供一个代理对象并由代理对象控制目标对象的引用目的通过引入代理的方式来间接访问目标对象防止直接访问目标对象给系统带来不确定的复杂性静态代理编译时就确定了被代理的类是哪一个动态代理运行时才确定被代理的类是哪个动态代理是一种在编程中非常有用的设计模式它允许你在运行时创建一个代理对象来代替原始对象以便在方法调用前后执行额外的逻辑。