Java中的AOP技术源于代理思想
是多实现的巧妙应用

A为接口
B,C为A的实现
则B,C将会同时继承A接口中的全部方法,并且可以拥有完全相同的方法,在重写的同时,可以将后实现的类中的方法进行增强,在未来的逻辑修改中避免不断修改源代码中的逻辑,造成错误或耦合。
A接口

public interface Services {
public void do01();
public void do02();
}

A接口的实现B

public class ServicesImpl implements Services{
@Override
public void do01() {
System.out.println("业务方法第1流程执行中..........");
}

@Override
public void do02() {
System.out.println("业务方法第2流程执行中..........");
}
}

A接口的实现C对实现B进行了修改和增强

import java.util.Date;

public class ServiceProxy implements Services {
Services servicesTarget = new ServicesImpl();
@Override
public void do01() {
System.out.println("业务方法1开始执行...... 执行时间:"+new Date());
servicesTarget.do01();
}

@Override
public void do02() {
System.out.println("业务方法2开始执行...... 执行时间:"+new Date());
servicesTarget.do02();
}
}

Test

public class AppTest 
{

@Test
public void test(){
ServiceProxy serviceProxy = new ServiceProxy();
serviceProxy.do01();
serviceProxy.do02();

}
}

此时可以将C作为B的代理对象进行切面的介入,又避免了对B的修改过程中对于原有逻辑的入侵和更改。