设计模式之适配器模式

结构

适配器模式

说明

Convert the interface of a class into another interface clients expect. An adapter lets classes work together that could not otherwise because of incompatible interfaces.

将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题。

适用条件

  • 需要使用一个已经存在的类, 但接口与设计要求不符;
  • 需要创建一个可复用的类, 该类可以与其它不相干的类或是将来不可预见的类协同工作。

实现

interface ITarget {

   void Request();

}

class Adapter : ITarget {

   private readonly Adaptee _adaptee;

   public Adapter(Adaptee adaptee) {
      this._adaptee = adaptee;
   }
   
   void ITarget.Request() {
      this._adaptee.PerformRequest();
   }
}

class Adaptee {
   
   public void PerformRequest() {
      Console.WriteLine("Addaptee perform request.");
   }

}

class Program {

   static void Main(string[] args) {
      ITarget target = new Adapter(new Adaptee());
      target.Request();

      Console.ReadLine();
   }
}