abstract class Person
{
public string name;
public Person(string _name)
{
name = _name;
}
public abstract void Say();
}
class EnglishPerson : Person
{
public EnglishPerson(string _name) : base(_name)
{
}
public override void Say()
{
Console.WriteLine("i'm{0}",name);
}
}
//被適配的對(duì)象
class ChinesePerson : Person
{
public ChinesePerson(string _name) : base(_name)
{
}
public override void Say()
{
Console.WriteLine("我是{0}", name);
}
}
class JapanPerson : Person
{
public JapanPerson(string _name) : base(_name)
{
}
public override void Say()
{
Console.WriteLine("私は{0}と申します", name);
}
}
class TranslatorAdapter : Person
{
private ChinesePerson cp;
public TranslatorAdapter(string _name) : base(_name)
{
cp = new ChinesePerson(name);
}
public override void Say()
{
cp.Say();
}
}
//前端
static void Main(string[] args)
{
Person p = new EnglishPerson("JOM");
p.Say();
Person p1 = new JapanPerson("アレクサンダー大");
p1.Say();
Console.ReadKey();
//P1,P2來中國(guó)旅游,請(qǐng)了個(gè)中國(guó)翻譯
Console.WriteLine("P1,P2來中國(guó)旅游,請(qǐng)了個(gè)中國(guó)翻譯");
p = new TranslatorAdapter("JOM");
p.Say();
p1 = new TranslatorAdapter("アレクサンダー大");
p1.Say();
Console.ReadLine();
}
總結(jié):轉(zhuǎn)換接口使不兼容的類可以一起工作,一般在軟件開發(fā)后期階段使用很多。
與代理模式差別在于
1、代理模式中被代理的類是不允許被客戶端訪問的,
代理類知識(shí)轉(zhuǎn)達(dá)被代理類的行為意圖,
設(shè)計(jì)時(shí)代理類和被代理是同一個(gè)接口。
假如被代理類可以直接被訪問,那么被代理類和代理類最終都是執(zhí)行的同一個(gè)方法。
2、適配器模式是為了實(shí)現(xiàn):客戶的某個(gè)行為意圖希望轉(zhuǎn)變成另外一種行為意圖。
即轉(zhuǎn)變?yōu)楸贿m配角色的行為。
比如英文:i love you,中文:我愛你,
在中國(guó)老外說:i love you‘’,就需要適配器轉(zhuǎn)成我愛你,而‘’我愛你‘’就是被適配的對(duì)象
使用場(chǎng)景:
老系統(tǒng):add(param1,param2,param3)
新系統(tǒng):add(param1,param2,param3,param4)
新系統(tǒng)調(diào)用老系統(tǒng)的add,新系統(tǒng)此時(shí)就就需要加適配類了。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
網(wǎng)站名稱:設(shè)計(jì)模式-適配器模式-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article26/dpeccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、企業(yè)網(wǎng)站制作、微信公眾號(hào)、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容