喜歡看nba,沒想到大鳥和小菜也這麼喜歡看nba,在姚明的故事裡衍生出一種新的模式——介面卡模式
介面卡模式:將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於介面不相容而不能一起工作的那些類可以一起工作。
class program
}abstract class player
public abstract void attack();
public abstract void defense();
}class forwards : player
public override void attack()
進攻",name );
}public override void defense()
防守",name );}}
class guards : player
public override void attack()
進攻", name);
}public override void defense()
防守", name);}}
class foreigncenter
set
}public void 進攻()
進攻",name );
}public void 防守()
防守",name );}}
class translator : player
public override void attack()
public override void defense()
}
那麼什麼時候使用介面卡模式呢?
使用乙個已經存在的類,但如果它的介面,也就是它的方法和你的要求不相同時,就應該考慮用介面卡模式。也就是兩個類所做的事情相同或者相似,但是具有不同的介面時。
至於客戶端統一呼叫同一介面就行了,這樣應該可以更簡單,直接,緊湊。
關於介面卡模式的.net應用:
在.net中有乙個類庫已經實現的,非常重要的介面卡,那就是dataadapter。dataadapter用作dataset和資料來源之間的介面卡以便檢索和儲存資料。dataadapter通過對映fill(這更改了dataset中的資料以便與資料來源中的資料相匹配)和update(這更改了資料來源中的資料以便與dataset中的資料相匹配)來提供這一匹配器。
大話設計模式之介面卡模式
現在有乙個需求 為不懂英語的姚明設定乙個翻譯 球員父類 集合了球員必備的名字與方法等屬性 package adapterpattern public abstract class player public abstract void attack public abstract void defe...
大話設計模式之介面卡模式
現在有乙個需求 為不懂英語的姚明設定乙個翻譯 球員父類 集合了球員必備的名字與方法等屬性 package adapterpattern public abstract class player public abstract void attack public abstract void defe...
大話設計模式之介面卡模式
什麼時間使用,主要是專案的後期維護,設計時最好不要想使用介面卡模式。圖示 下面以姚明在剛到 打籃球需要英語翻譯為例 class program 抽象基類 abstract class player public abstract void attack public abstract void de...