23种设计模式----桥接模式(结构性设计模式)

23种设计模式----桥接模式(结构性设计模式)

理解:让实现的的部分分离出来,抽象化可以自定义变化

请看代码案例

 public interface ISystem
    {
        string System();
        string Version();
    }
 public class IOSSystem : ISystem
    {

        public string System()
        {
            return "IOS";
        }
        public string Version()
        {
            return "9.4";
        }

    }
public class AndroidSystem : ISystem
    {

        public string System()
        {
            return "Android";
        }
        public string Version()
        {
            return "6.0";
        }

    }

上述代码就是安卓和ios都有系统跟版本号,桥接怎么桥接呢?
现在呢我们建立所谓的桥,将两个互不相同的东西呢能够连接起来,
套路就是抽象化

建立一个苹果手机的桥

   //抽象化主要是在这里
  public ISystem SystemVersion { get; set; }
  public abstract void Call();
 public class GalaxyBridge : BasePhoneBridge
    {

        public override void Call()
        {
            Console.WriteLine("Use OS {0}.{1}.{2} Call", this.GetType().Name, this.SystemVersion.System(), this.SystemVersion.Version());
        }



    }
public class iPhoneBridge : BasePhoneBridge
    {
        public override void Call()
        {
            Console.WriteLine("Use OS {0}.{1}.{2} Call", this.GetType().Name, this.SystemVersion.System(), this.SystemVersion.Version());
        }
    }

调用的时候就可以把苹果的信息传到安卓这个里面来

 ISystem ios = new IOSSystem();
 BasePhoneBridge phone = new GalaxyBridge();
                phone.SystemVersion = ios;
                phone.Call();

你可能感兴趣的:(23种设计模式,数据库,.net,sql)