国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

設計模式C#實現(十)——橋接模式

2019-11-14 13:45:08
字體:
來源:轉載
供稿:網友

 

      • 意圖
      • 適用性
      • 結構
      • 實現
      • 效果

 

意圖

將抽象部分與它的實現部分分離,使它們都可以獨立的變化。

適用性

1.不希望抽象和實現間有固定的綁定關系
2.類的抽象以及它的實現都可以通過生成子類的方法加以擴充
3.對抽象的實現部分的修改應對客戶端不參產生影響
4.在多個對象中共享實現

結構

Bridge

實現

(這里所說的抽象層次和實現層次和面向對象的抽象和實現不同?把遙控器當作抽象,電視機當作實現是因為遙控器本身不會開關,只是命令電視機開關?這里抽象層次和實現層次的關系是聚合呀)
遙控器

public class RemoteControl    {        public TV tv;        public void On()        {            tv.On();        }        public void Off()        {            tv.Off();        }    }

電視

public interface TV    {        void On();        void Off();    }

具體的電視

    public class Sony:TV    {        public void On()        {            Console.WriteLine("SonyTV On.");        }        public void Off()        {            Console.WriteLine("SonyTV off");        }    }

具體的遙控器
可擴展

 public class ConcreteRemote:RemoteControl    {        public ConcreteRemote(TV tv)        {            this.tv = tv;        }        public void AutoOff(int ms)        {            Thread.Sleep(ms);            tv.Off();        }    }

客戶

 class PRogram    {        static void Main(string[] args)        {            TV sony = new  Sony();            ConcreteRemote cr = new ConcreteRemote(sony);            cr.On();            cr.AutoOff(5000);            Console.ReadKey();        }    }

運行結果
運行結果

效果

1.分離接口及其實現部分
2.提高可擴充性
3.實現細節對客戶透明


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文成县| 宣武区| 奉新县| 镇坪县| 桦甸市| 铜山县| 清苑县| 阳谷县| 侯马市| 西乡县| 花莲县| 固始县| 古丈县| 汉中市| 襄垣县| 普兰店市| 驻马店市| 乌鲁木齐市| 新乡县| 阿克陶县| 利川市| 绩溪县| 石景山区| 河东区| 柳河县| 兰坪| 和顺县| 云安县| 伽师县| 观塘区| 五寨县| 青海省| 射阳县| 自治县| 永济市| 辉县市| 雅江县| 青田县| 苍梧县| 保定市| 阜城县|