设计模式:适配器模式

模式说明:

  1. 定义一个适配器类,用于包装不兼容的对象

解决问题 

  1. 原本由于接口不兼容而不能一起工作的那些类可以在一起工作 

优势: 

  1. 易拓展,再适配器类中可以拓展相应的功能而不影响原本的功能。
  2.  更好的复用性,系统需要使用现有的类,而此类的接口不符合系统的需要。增加适配器类实现了类的复用
  3. 解耦性 将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码
  4. 符合开闭原则:同一个适配器可以把适配者类和它的子类都适配到目标接口;可以为不同的目标接口实现不同的适配器,而不需要修改待适配类

贴上代码: 

public interface Target
    {
        //输出110电压
        void Power110V();
    }

    public class Adaptee
    {
        public void Power220V()
        {
            Console.WriteLine("输出220v电压");
        }
    }

    public class Adapter : Target
    {
        private Adaptee adaptee;
        public Adapter(Adaptee adaptee)
        {
            this.adaptee = adaptee;
        }

        public void Power110V()
        {
            adaptee.Power220V();
        }
    }

代码中目标(Target)是需要110v电压,但是原本有的Adaptee类是输出的220v电压,这里存在冲突,那么需要提供一个适配器类Adapter去转换电压。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页