C#桥接模式完整实例
作者:宋勇野
这篇文章主要介绍了C#桥接模式,以实例形式较为详细的分析了C#桥接模式的实现原理与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#桥接模式实现方法。分享给大家供大家参考。具体如下:
C#代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandAddressList:HandSetSoft { public override void Run() { Console.WriteLine("运行手机通讯录"); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandBrandM:HandSetBrand { public override void Run() { soft.Run(); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandBrandN:HandSetBrand { public override void Run() { soft.Run(); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class HandSetBrand { protected HandSetSoft soft; public void SetHandSetSoft(HandSetSoft soft) { this.soft = soft; } public abstract void Run(); } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandSetGame:HandSetSoft { public override void Run() { Console.WriteLine("运行手机游戏"); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandSetMP3:HandSetSoft { public override void Run() { Console.WriteLine("运行手机MP3"); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class HandSetSoft { public abstract void Run(); } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { HandSetBrand ab; ab = new HandBrandN(); ab.SetHandSetSoft(new HandSetGame()); ab.Run(); ab.SetHandSetSoft(new HandAddressList()); ab.Run(); ab = new HandBrandM(); ab.SetHandSetSoft(new HandSetGame()); ab.Run(); ab.SetHandSetSoft(new HandAddressList()); ab.Run(); ab.SetHandSetSoft(new HandSetMP3()); ab.Run(); Console.ReadKey(); } } }
HandAddressList.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandAddressList:HandSetSoft { public override void Run() { Console.WriteLine("运行手机通讯录"); } } }
HandBrandM.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandBrandM:HandSetBrand { public override void Run() { soft.Run(); } } }
HandBrandN.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandBrandN:HandSetBrand { public override void Run() { soft.Run(); } } }
HandSetBrand.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class HandSetBrand { protected HandSetSoft soft; public void SetHandSetSoft(HandSetSoft soft) { this.soft = soft; } public abstract void Run(); } }
HandSetGame.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandSetGame:HandSetSoft { public override void Run() { Console.WriteLine("运行手机游戏"); } } }
HandSetMP3.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class HandSetMP3:HandSetSoft { public override void Run() { Console.WriteLine("运行手机MP3"); } } }
HandSetSoft.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class HandSetSoft { public abstract void Run(); } }
Program.cs如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { HandSetBrand ab; ab = new HandBrandN(); ab.SetHandSetSoft(new HandSetGame()); ab.Run(); ab.SetHandSetSoft(new HandAddressList()); ab.Run(); ab = new HandBrandM(); ab.SetHandSetSoft(new HandSetGame()); ab.Run(); ab.SetHandSetSoft(new HandAddressList()); ab.Run(); ab.SetHandSetSoft(new HandSetMP3()); ab.Run(); Console.ReadKey(); } } }
希望本文所述对大家的C#程序设计有所帮助。