作用:改写已存在的类的某个方法或某些方法,装饰设计模式(包装模式)
场景:DataSource数据源连接池,获取Connection后的close不能关闭,而是放入连接池中,就需要使用装饰者设计模式
口诀:
1、编写一个类,实现与被包装类相同的接口。(具备相同的行为)
2、定义一个被包装类类型的变量。
3、定义构造方法,把被包装类的对象注入,给被包装类变量赋值。
4、对于不需要改写的方法,调用原有的方法。
5、对于需要改写的方法,写自己的代码。
public class MyConnectionWarper implements Connection {
private Connection oldConn;
public MyConnectionWarper(Connection oldConn){
this.oldConn = oldConn;
}
@Override
public void close() throws SQLException {
// TODO Auto-generated method stub
}
//·····省略若干需要实现的方法
}