意义
将核心逻辑放入某个接口,而公共的非业务逻辑放入代理类,通过代理实现类包装业务逻辑,我们可以全心全意的将精力放入业务逻辑的实现。
实现代码
public interface Core{
public void coreCode();
}
// 核心代码
class CoreTest implements Core{
public void coreCode() {
System.out.println("核心代码");
}
}
//代理类
class coreProxy implements Core{
public CoreTest coreTest;
public coreProxy(Core coreTest){
this.coreTest = core;
}
public void doBefore(){
System.out.println("非核心业务代码,核心代码执行前");
}
public void doAfter(){
System.out.println("非核心业务代码,核心代码执行后");
}
public void coreCode() {
this.doBefore();
this.coreTest.coreCode();
this.doAfter();
}
}