设计模式之·适配器模式

来源:互联网 发布:淘宝上的指纹锁靠谱吗 编辑:程序博客网 时间:2024/06/05 14:31

适配器模式定义:将一个类的接口,转化成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。代码实现如下:

class Program
    {
        static void Main(string[] args)
        {
            Mobile mobile = new Mobile();
            ThreeHole threeHole = new ThreeHole();
            LineWithTwoHole lineWithTwoHole = new LineWithTwoHole(threeHole);
            mobile.Charge(lineWithTwoHole);
            Console.ReadKey();
        }
    }

    /// <summary>
    /// 手机类
    /// </summary>
    public class Mobile
    {
        public void Charge(ITwoHole twoHole)
        {
            twoHole.Connect();
            AddPower();
        }
        public void AddPower()
        {
            Console.WriteLine("电量增加中。。。。");
        }
    }

    /// <summary>
    /// 两孔插座接口
    /// </summary>
   public interface ITwoHole
    {
        void Connect();
    }

    /// <summary>
    /// 三孔插座
    /// </summary>
   public class ThreeHole
    {
        public void Connect()
        {
            LeftConnect();
            RightConnect();
            ExtraConnect();
        }

        public void LeftConnect()
        {
            Console.WriteLine("零线接通中。。。");
        }
        public void RightConnect()
        {
            Console.WriteLine("火线接通中。。。。。");
        }
        public void ExtraConnect()
        {
            Console.WriteLine("底线接通中。。。。");
        }
    }

   public class LineWithTwoHole:ITwoHole
   {
      private ThreeHole threeHole;
      public LineWithTwoHole(ThreeHole threeHole)
      {
          this.threeHole = threeHole;
      }
      public void Connect()
      {
          threeHole.LeftConnect();
          threeHole.RightConnect();
      }
   }

0 0