適配器模式 不會(huì)英語(yǔ)一樣可以泡洋妞
適配器模式比喻
在朋友聚會(huì)上碰到了一個(gè)美女Adaptee,從英國(guó)來(lái)的,可我不會(huì)說(shuō)英語(yǔ),她不會(huì)說(shuō)普通話,只好求助于我的朋友Adapter了,他作為我和Adaptee之間的Adapter-適配器,讓我和Adaptee可以相互交談了(也不知道他會(huì)不會(huì)耍我)。
適配器模式意圖
適配器模式(Adapter)將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter-適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
適配器模式類圖

適配器模式實(shí)現(xiàn)
/// <summary>
/// 朱利IT博客http://www.zhuli8.com/ 博主類,就是指本人了。
/// </summary>
abstract class Target
{
/// <summary>
/// 我對(duì)美女Adaptee說(shuō)的話
/// </summary>
public virtual void Request()
{
Console.WriteLine("我可以請(qǐng)你吃飯嗎?");
}
}
/// <summary>
/// 適配器類
/// </summary>
class Adapter : Target
{
//建立一個(gè)私有的Adaptee對(duì)象
private Adaptee adaptee = new Adaptee();
/// <summary>
/// 把表面上調(diào)用Request()方法變成實(shí)際上Adaptee能聽(tīng)懂的SpecificRequest()
/// </summary>
public override void Request()
{
adaptee.SpecificRequest();
}
}
/// <summary>
/// Adaptee美女類
/// </summary>
class Adaptee
{
/// <summary>
/// Adaptee美女能接受的語(yǔ)言
/// </summary>
public void SpecificRequest()
{
Console.WriteLine("Can I take you out to dinner?");
}
}
/// <summary>
/// 適配器模式客戶端應(yīng)用
/// </summary>
class Program
{
static void Main(string[] args)
{
//我
Target t = new Adapter();
//我的邀請(qǐng)
t.Request();
Console.Read();
}
}
適配器模式總結(jié)
想說(shuō)的話就在嘴里人家就是聽(tīng)不懂,而且還想讓她馬上知道,所以只能找Adapter翻譯了,就如同需要的東西就在面前但卻不能使用,而短時(shí)間又無(wú)法改造它,于是我們就想辦法適配。以后要好好學(xué)習(xí)英語(yǔ)了!
相關(guān)文章

網(wǎng)絡(luò)工程師必備的6款配置文件編輯神器:替代Notepad++!
本期文章介紹了六種網(wǎng)工必備工具,這些工具是網(wǎng)絡(luò)工程師日常工作中必不可少的,也是那些立志成為網(wǎng)絡(luò)工程師的人應(yīng)該熟悉的2026-04-13
首個(gè)版本v1.111已上線! VS Code開(kāi)啟周更狂飆模式
026年3月10日,微軟宣布將Visual Studio Code(VS Code)更新節(jié)奏從月更提速至周更,并發(fā)布首個(gè)周更版本v1.1112026-03-11
AI直接調(diào)試瀏覽器! VS Code重大更新發(fā)布
還在手動(dòng)打開(kāi)瀏覽器、點(diǎn)擊按鈕、檢查控制臺(tái)報(bào)錯(cuò)?太累了!現(xiàn)在,最新的VS Code 1.110中AI可以直接調(diào)試瀏覽器2026-03-10
vc 6.0代碼是正確編譯無(wú)法運(yùn)行怎么解決?
今天帶大家來(lái)共同學(xué)習(xí)VC++6.0無(wú)法正常運(yùn)行怎么辦?下面就是詳細(xì)完整的操作步驟,快跟小編一起來(lái)學(xué)習(xí)一下2026-02-27
vscode調(diào)試c代碼始終找不到exe可執(zhí)行文件的詳細(xì)及解決辦法
在 VS Code 中調(diào)試 C++ 項(xiàng)目時(shí),常見(jiàn)報(bào)錯(cuò):“無(wú)法啟動(dòng)調(diào)試會(huì)話:找不到可執(zhí)行文件”,這個(gè)問(wèn)題問(wèn)題通常是由于環(huán)境配置不當(dāng)、缺少編譯步驟、路徑設(shè)置錯(cuò)誤、或是launch.json2026-02-27
vscode入門(mén)! 小白都能看懂的VS Code保姆級(jí)級(jí)使用教程
相對(duì)于其它前端工具來(lái)說(shuō),VSCode顯得更加的流暢,今天就將我的學(xué)習(xí)經(jīng)歷和大家分享一下,希望可以幫助到有需要的人2026-02-27
2026年真正值得裝、用得上、不雞肋的 VSCode 插件,其實(shí)沒(méi)那么多——挑10個(gè)“神級(jí)”不難,但得是每天打開(kāi)就用、關(guān)掉就難受的那種2026-02-10
VS Code 和 VSCodium怎么選? vscode 和 vscodium之間的區(qū)別
咱們今天就來(lái)聊聊 Visual Studio Code (VS Code) 和 VSCodium的相似與區(qū)別,詳細(xì)請(qǐng)看下文介紹2026-01-10
如何啟用.NET Framework3.5? 一鍵安裝net3.5解決軟件依賴問(wèn)題
你是否曾在安裝某些軟件時(shí)遇到過(guò)“需要.NET Framework 3.5”的提示?實(shí),只需要幾步簡(jiǎn)單的操作,你就可以輕松解決這個(gè)問(wèn)題2025-10-28
VS Code中Java擴(kuò)展代碼重構(gòu)功能的使用詳解
在軟件開(kāi)發(fā)過(guò)程中,重構(gòu)是一個(gè)非常重要的環(huán)節(jié),重構(gòu)可以提高代碼的可讀性、可維護(hù)性和可擴(kuò)展性,使代碼更加健壯和易于理解,本文將介紹如何使用 VSCode 進(jìn)行 Java 代碼重構(gòu)2025-09-20





