1、IoC 控制翻转 依赖注入 anyway
意思就是把传统的手工new创建的组件,交给ioc容器去创建,让组件的创建和使用分开
简单的方式就是使用注解 @component
2、aop 面向切面编程
意思就是 系统中每个业务逻辑执行之前都要进行相应的检查 ,所以这些检查的代码会出现在所有的业务逻辑中, 有一种方式就是把业务逻辑再抽象一层,使用代理模式 ,
类似于这样:
public 代理 implements A {
private A a;
public 代理(A a) {
this.a = a;
}
public void a() {
//在这里可以做一些额外的操作
this.a.a();
}
}
AOP的核心思想基本就是这样,只不过在这个基础上添加了一些额外的概念