zoukankan      html  css  js  c++  java
  • 桥接模式

    在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。

    代码1:抽象部分,将实现部分剥离后的部分/

        public abstract class AbstractRoad
        {
            protected AbstractCar car;
            public AbstractCar Car
            {
                set
                {
                    car = value;
                }
            }
    
            public abstract void Run();
        }
    
        //高速公路
        public class SpeedWay : AbstractRoad
        {
            public override void Run()
            {
                car.Run();
                Console.WriteLine("高速公路上行驶");
            }
        }
    
        //市区街道
        public class Street : AbstractRoad
        {
            public override void Run()
            {
                car.Run();
                Console.WriteLine("市区街道上行驶");
            }
        }
    }
    

    代码2:实现部分,剥离出来的维度

    //抽象汽车 
        public abstract class AbstractCar
        {
            public abstract void Run();
        }
    
        //小汽车;
        public class Car : AbstractCar
        {
            public override void Run()
            {
                Console.Write("小汽车在");
            }
        }
    
        //公共汽车
        public class Bus : AbstractCar
        {
            public override void Run()
            {
                Console.Write("公共汽车在");
            }
        }
    

    代码3:客户端

     static void Main(string[] args)
            {
                
                //男人开着公共汽车在高速公路上行驶;
                Console.WriteLine("=========================");
    
                AbstractRoad Road3 = new SpeedWay();
                Road3.Car = new Bus();
    
                people p = new Man();
                p.Road = Road3;
                p.Run();
    
                Console.Read();
            }
    

      

  • 相关阅读:
    Mybatis学习随笔3
    Mybatis学习随笔2
    Mybatis学习随笔
    Java校招面试-什么是线程安全/不安全
    装饰器2
    装饰器
    默认传参的陷阱
    处理日志文件
    第二天
    用户登录
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/3361271.html
Copyright © 2011-2022 走看看