天天看点

适配器模式 - Adapter

适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。

适配器模式主要解决什么问题呢? 简单地说,就是需要的东西就在面前,但却不能使用,而短时间又无法改造它,于是就想办法适配它。

在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们就考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现在的类,但是接口又与复用环境要求不一致的情况。

Target(这是客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口)
 class Target
 {
  public virtual void Request()
  {
   Console.WriteLine("普通请求");
  }
 }Adaptee(需要适配的类)
 class Adaptee
 {
  public void SpecificRequest()
  {
   Console.WriteLine("特殊请求");
  }
 }Adapter 通过在内部包装一个Adaptee对象,把源接口转换成目标接口
 class Adapter : Target
 {
  private Adaptee adaptee = new Adaptee();
  
  public override void Request()
  {
   adaptee.SpecificRequest();
  }
 }---客户端代码---
 static void Main(string[] args)
 {
  Target target = new Adapter();
  target.Request(); Console.Read();
 }