1、类的继承
(1)爷类
public class OldBase {
//交易全流程
public void process() {}
//业务逻辑
public void processBiz() {}
}
(2)父类
//父类:将需要业务无关,但是需要在业务逻辑前后处理的逻辑,剥离出来放在父类处理--->类似切面
public class Base extends OldBase {
//交易全流程
@Override
public void process(){
Sub sub = new Sub();
//父类调起前置逻辑方法
sub.test1();
//父类调起子类的业务逻辑方法
sub.processBiz();
//父类调起后置逻辑方法
sub.test2();
}
//前置方法1
void test1(){System.out.println("业务逻辑前,嵌入的方法-->前置方法1() ");}
//后置方法2
void test2(){System.out.println("业务逻辑后,嵌入的方法-->后置方法2() ");}
}
(3)子类
//子类:只需要关注交易的业务逻辑
public class Sub extends Base {
@Override
public void processBiz(){
System.out.println("这是子类独有的业务逻辑方法!");
}
}
(4)测试类
public class test {
public static void main(String[] args) {
//交易发起时,需调用其父类的交易全流程方法
Sub sub = new Sub();
sub.process();
}
}
2、小结
在父类中定义与子类无关的流程型逻辑,让子类之关心自身的业务逻辑,类似切面技巧,实现业务与流程的分离。