一、
对象增强的手段
* 继承被增强的对象固定的
增强的内容也是固定的
* 装饰者模式
被增强的对象是可以切换的
增强的内容是固定的
* 动态代理(AOP)
被增强的对象可以切换:Service
增强的内容也可以切换:事务处理
二、装饰:不知道被增强对象的具体类型时,可以使用!
是你,还有你,一切拜托你!
is a
has a
use a
Class MyConnection implements Connection{//是你
//还有你
private Connection con;
public MyConnection(Connection con){ //通过构造器传递底层对象
this.con = con;
}
//一切拜托你
public Statement createStatement(){
return con.createStatement;
}
//增强点
public void close(){
把当前连接归还给池!
}
}