23种设计模式——桥接模式

23种设计模式——桥接模式_第1张图片

分离接口和抽象类

就一句话 解耦 避免错综复杂的 交叉 增加耦合

 static void Main(string[] args)
        {
            Car car = new Poersche();
            car.CarType();
            car = new Ferrari();
            car.CarType();
        }
    }

    ///  
    /// 发动机类型   发动机是汽车的一个引用
    /// 
    interface Engine
    {
        void Type();
    }
    class V6 : Engine
    {
        public void Type()
        {
            Console.WriteLine("安装3.0L V6发动机");
        }
    }
    class V8 : Engine
    {
        public void Type()
        {
            Console.WriteLine("安装V8 3.9T发动机");
        }
    }
    /// 
    /// 抽象类
    /// 
    abstract class Car
    {
        protected Engine EngineType { get; set; }
        public abstract void CarType();
    }

    class Poersche : Car
    {
        public override void CarType()
        {
            EngineType = new V6();
            EngineType.Type();
        }
    }
    class Ferrari : Car
    {
        public override void CarType()
        {
            EngineType = new V8();
            EngineType.Type();
        }
    }

你可能感兴趣的:(java,设计模式,C#,c#)