c# 適配器模式
更新時(shí)間:2012年10月29日 14:11:16 作者:
適配器模式:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另一個(gè)接口,Adapter使原本由于接口不兼容而不能一起工作的那些類可以一起工作
結(jié)構(gòu)圖:

客戶可以對(duì)接的接口類:
class Target
{
public virtual void Request()
{
Console.WriteLine("普通請(qǐng)求!");
}
}
客戶需要使用適配器才能使用的接口:
class Adaptee
{
public void SpecialRequest()
{
Console.WriteLine("特殊請(qǐng)求!");
}
}
適配器的定義:繼承與Target類
class Adapter : Target
{
Adaptee ad = new Adaptee();
public override void Request()
{
ad.SpecialRequest();
}
}
主函數(shù)的調(diào)用:
class Program
{
static void Main(string[] args)
{
Target ta = new Target();
ta.Request();
Target sta = new Adapter();
sta.Request();
Console.ReadKey();
}
}
原本不可以使用的接口,通過適配器之后可以使用了。

客戶可以對(duì)接的接口類:
復(fù)制代碼 代碼如下:
class Target
{
public virtual void Request()
{
Console.WriteLine("普通請(qǐng)求!");
}
}
客戶需要使用適配器才能使用的接口:
復(fù)制代碼 代碼如下:
class Adaptee
{
public void SpecialRequest()
{
Console.WriteLine("特殊請(qǐng)求!");
}
}
適配器的定義:繼承與Target類
復(fù)制代碼 代碼如下:
class Adapter : Target
{
Adaptee ad = new Adaptee();
public override void Request()
{
ad.SpecialRequest();
}
}
主函數(shù)的調(diào)用:
復(fù)制代碼 代碼如下:
class Program
{
static void Main(string[] args)
{
Target ta = new Target();
ta.Request();
Target sta = new Adapter();
sta.Request();
Console.ReadKey();
}
}
原本不可以使用的接口,通過適配器之后可以使用了。
相關(guān)文章
Unity實(shí)現(xiàn)蘋果手機(jī)Taptic震動(dòng)
這篇文章主要介紹了Unity實(shí)現(xiàn)蘋果手機(jī)Taptic震動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10C#使用itextsharp生成PDF文件的實(shí)現(xiàn)代碼
以下是對(duì)在C#中使用itextsharp生成PDF文件的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)分析介紹,需要的朋友可以過來參考下2013-07-07C#對(duì)多個(gè)集合和數(shù)組的操作方法(合并,去重,判斷)
下面小編就為大家?guī)硪黄狢#對(duì)多個(gè)集合和數(shù)組的操作方法(合并,去重,判斷)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12C#中ManualResetEvent實(shí)現(xiàn)線程的暫停與恢復(fù)
本文主要介紹了C#中ManualResetEvent實(shí)現(xiàn)線程的暫停與恢復(fù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C#實(shí)現(xiàn)json格式數(shù)據(jù)解析功能的方法詳解
這篇文章主要介紹了C#實(shí)現(xiàn)json格式數(shù)據(jù)解析功能的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了C#解析json格式數(shù)據(jù)的具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12