桥接模式.......

桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。

举实际例子:

1.手机目前最常用的的三种系统:IOS,WinPhone,Android(高手是想装什么系统就装什么系统)

2.什么手都可以打电话和发短信.

参与者:

      Abstraction:抽象类。 系统抽象
      RefinedAbstraction:扩充抽象类。  具体实现三个系统
      Implementor:实现类接口。     //手机抽象
      ConcreteImplementor:具体实现类
 。    //具体的品牌手机实现打在哪个系统下电话和发短信

系统抽象:

  public   interface ISystem
  {
      string System();
  }

三种系统具体实现

        public string System()
        {
            return "Android";
        }
        public string System()
        {
            return "IOS 10";
        }
        public string System()
        {
            return "WinPhone";
        }

下面将手机功能抽象,然把系统给传进去

    public abstract class BasePhone
    {
        public ISystem System { get; set; }
        public abstract void Call();
        public abstract void Message();

    }

下面是某品牌手机具体实现

    public class Miui : BasePhone
    {
        public override void Call()
        {
            Console.WriteLine(@"我使用的是{0}手机,是{1}系统,我正在打电话功能.", this.GetType(), base.System);
        }
        public override void Message()
        {
            Console.WriteLine(@"我使用的是{0}手机,是{1}系统,我正在发信息.", this.GetType(), base.System);
        }
    }


客户端调用

            ISystem sys = new WinPhone();
            BasePhone mi = new Miui() {System = sys };
            mi.Call();
            mi.Message();


结果


demo:

https://download.csdn.net/download/lw8014/86814088icon-default.png?t=M85Bhttps://download.csdn.net/download/lw8014/86814088

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值