設計模式(十八)——橋接模式
阿新 • • 發佈:2019-02-03
橋接模式(Bridge)
橋接模式,將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
程式碼
1.程式碼如下:手機軟體抽象類
using System;
namespace Bridge
{
//手機軟體抽象類
public abstract class HandsetSoft
{
public abstract void Run();
}
}
具體軟體類——手機遊戲
using System; namespace Bridge { //具體軟體類——手機遊戲 public class HandsetGame:HandsetSoft { public override void Run () { Console.WriteLine ("執行手機遊戲"); } } }
具體軟體類——手機通訊錄
using System;
namespace Bridge
{
//具體軟體類——手機通訊錄
public class HandsetAddressList:HandsetSoft
{
public override void Run ()
{
Console.WriteLine ("執行手機通訊錄");
}
}
}
手機品牌抽象類
using System; namespace Bridge { //手機品牌抽象類 public abstract class HandsetBrand { protected HandsetSoft soft; //設計手機軟體 public void SetHandsetSoft(HandsetSoft soft){ this.soft=soft; } //執行 public abstract void Run(); } }
手機品牌N
using System;
namespace Bridge
{
//手機品牌N
public class HandsetBrandN:HandsetBrand
{
public override void Run ()
{
soft.Run ();
}
}
}
手機品牌M
2.客戶端程式碼如下using System; namespace Bridge { //手機品牌M public class HandsetBrandM:HandsetBrand { public override void Run () { soft.Run (); } } }
客戶端
using System;
namespace Bridge
{
class MainClass
{
public static void Main (string[] args)
{
HandsetBrand ab;
ab = new HandsetBrandN ();
ab.SetHandsetSoft (new HandsetGame ());
ab.Run ();
ab.SetHandsetSoft (new HandsetAddressList ());
ab.Run ();
ab = new HandsetBrandM ();
ab.SetHandsetSoft (new HandsetGame ());
ab.Run ();
ab.SetHandsetSoft (new HandsetAddressList ());
ab.Run ();
}
}
}
3.執行結果
UML圖
原始碼下載地址:https://gitee.com/ZhaoYongshuang/DesignPattern.git