//職責(zé)
abstract class Command
{
public abstract int Run<T>(T t);
}
class Add : Command
{
public override int Run<T>(T t)
{
Console.WriteLine("add{0}",t.ToString());
return 0;
}
}
class Update : Command
{
public override int Run<T>(T t)
{
Console.WriteLine("update{0}", t.ToString());
return 0;
}
}
class Delete : Command
{
public override int Run<T>(T t)
{
Console.WriteLine("delete{0}", t.ToString());
return 0;
}
}
//實(shí)體類
bstract class Entity
{
protected Command command;
public void SetCommand(Command _command)
{
command = _command;
}
public abstract int Run();
}
class User : Entity
{
public string name { get; set; }
public int age { get; set; }
public override int Run()
{
return command.Run(this);
}
}
class Manager : Entity
{
public string name { get; set; }
public int age { get; set; }
public override int Run()
{
return command.Run(this);
}
}
//前端
static void Main(string[] args)
{
Command add = new Add();
Command update = new Update();
Command delete = new Delete();
Entity user = new User();
user.SetCommand(add);
user.Run();
user.SetCommand(update);
user.Run();
user.SetCommand(delete);
user.Run();
Console.ReadLine();
}
總結(jié):DEMO不是很適合做橋接模式,但是完全實(shí)現(xiàn)了橋接模式。
橋接模式就是把抽象類和他的職責(zé)分離,重新把職責(zé)整個(gè)一個(gè)新的抽象,然后把職責(zé)注入到抽象類。
用到了聚合(合成)復(fù)用原則(能用聚合的盡量不要用繼承),符合單一,開閉原則。
優(yōu)點(diǎn):避免了繼承類的無線擴(kuò)大,并且擴(kuò)展性增強(qiáng)。
缺點(diǎn):對(duì)業(yè)務(wù)理解不到位,可能被錯(cuò)誤運(yùn)用,就像DEMO。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、梁子湖網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、梁子湖網(wǎng)絡(luò)營(yíng)銷、梁子湖企業(yè)策劃、梁子湖品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供梁子湖建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:sd-ha.com
分享文章:設(shè)計(jì)模式-橋接模式
轉(zhuǎn)載注明:http://sd-ha.com/article46/ghdeeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、全網(wǎng)營(yíng)銷推廣、小程序開發(fā)、電子商務(wù)
聲明:本網(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)