国产探花免费观看_亚洲丰满少妇自慰呻吟_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.實現細節對客戶透明


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 出国| 工布江达县| 茂名市| 共和县| 泸州市| 慈溪市| 兴海县| 安陆市| 阳山县| 渝北区| 汤原县| 九龙坡区| 金秀| 扶余县| 襄城县| 丰都县| 城市| 宣城市| 南平市| 南充市| 嵩明县| 五原县| 家居| 资溪县| 莎车县| 双辽市| 灯塔市| 西昌市| 乐亭县| 左贡县| 辰溪县| 南投市| 航空| 邢台县| 永城市| 洛川县| 大同县| 浦城县| 板桥市| 桐梓县| 瑞安市|