本文实例讲述了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#程序设计有所帮助。
您可能感兴趣的文章:C++设计模式之桥接模式php设计模式 Bridge (桥接模式)用代码和UML图化解设计模式之桥接模式的深入分析c#桥接模式(bridge结构模式)用法实例深入理解JavaScript系列(44):设计模式之桥接模式详解举例讲解Python中的Null模式与桥接模式编程深入解析iOS应用开发中对设计模式中的桥接模式的使用简单了解C#设计模式编程中的桥接模式深入解析C#设计模式中对桥接模式的具体运用轻松掌握Java桥接模式