設計模式:
1包裝設計模式:
一、編寫一個類,實現與被包裝類相同的接口
二、定義一個變量,記住被包裝類對象的引用
三、定義構造方法,傳入被包裝類對象
四、對於要改變的方法,書寫你的代碼便可
五、對不須要要改變的方法,用原有對象的
默認適配器設計模式設計模式
public class ConnectionAdapter implements Connection{
private Connection conn;
private List<Connection> pool;
public ConnectionAdapter(Connection conn,List<Connection> pool){
this.conn = conn;
this.pool = pool;
}
public void close() throws SQLException {
pool.add(conn);
}app
@Override
public <T> T unwrap(Class<T> iface) throws SQLException {
return conn.unwrap(iface);
}ide
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
return conn.isWrapperFor(iface);
}
}this
包裝設計模式的變化:Connection中的全部方法都要去處理很麻煩,能夠再寫一個包裝類,來繼承ConnectionAdapter類,
重寫colse方法便可,
代碼體現:
public class MyConnection2 extends ConnectionAdapter {
private Connection conn;
private List<Connection> pool;
public MyConnection2(Connection conn,List<Connection> pool){
super(conn,pool);
this.conn = conn;
this.pool = pool;
}
public void close() throws SQLException {
pool.add(conn);
}
}設計