包裝設計模式

設計模式:
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);
 }
}設計

相關文章
相關標籤/搜索