橋接模式 範例
橋接模式 範例
橋接模式 範例
橋接模式 範例
abstract class HandsetSoft
{
public abstract void Run();
}
class HandsetGame : HandsetSoft
{
public override void Run()
{
Console.WriteLine(”執行手機遊戲”);
}
}
class HandsetAddressList : HandsetSoft
{
public override void Run()
{
Console.WriteLine(”執行手機通訊錄”);
}
}
abstract class HandsetBrand
{
protected HandsetSoft soft;
public void SetHandsetSoft(HandsetSoft soft)
{
this.soft = soft;
}
public abstract void Run();
}
class HandsetBrandN : HandsetBrand
{
public override void Run()
{
soft.Run();
}
}
class HandsetBrandM : HandsetBrand
{
public override void Run()
{
soft.Run();
}
}
static void Main(string[] args)
{
HandsetBrand sb;
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();
Console.Read();
}
要增加MP3功能
class HandsetMP3 : HandsetSoft
{
public override void Run()
{
Console.WriteLine(”執行手機MP3播放”);
}
}
要增加手機品牌S
class HandsetBrandS : HandsetBrand
{
public override void Run()
{
soft.Run();
}
}