代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。
Java开发中的开闭原则,对扩展开放,对修改关闭,所以当功能不满足需求时,应当避免直接修改源代码,而是应该对其进行扩展
创建接口 TargetInte
创建目标实现类 TargetInteImpl
测试类
测试结果
代理的作用就是对目标实现类中的方法进行功能增强
假设现在目标方法中的功能已经不能满足我们的需求,我们需要在目标方法的原有功能之前增加【输出当前时间】的功能,原有功能之后增加【输出执行结果】的功能,为了符合Java开发的开闭原则,我们不在目标实现类中直接对代码进行修改,而是为目标实现类创建一个代理类
创建代理类 TargetInteImplProxy
测试类
测试结果
代理类同样实现了接口,但却是对目标方法的一个扩展,在实现的方法中既保留了目标方法的原有功能,同时又增加了额外的功能