适配器模式之合适的才是最好的

简介:        曾经有一副小米耳机摆在我的面前,但是我没有去好好珍惜,直到她掉到我的水杯里我才后悔莫及,尘世间最痛苦的事莫过于此,如果上天再给我一次机会,我会对你说:我应该买个防水的耳机。

       曾经有一副小米耳机摆在我的面前,但是我没有去好好珍惜,直到她掉到我的水杯里我才后悔莫及,尘世间最痛苦的事莫过于此,如果上天再给我一次机会,我会对你说:我应该买个防水的耳机。话说昨天晚上回到宿舍,禁不住美食的诱惑,大晚上的,咱不能吃,看看也行啊,于是,百度搜索“舌尖上的中国”,看看看着,感觉口渴,于是蹭蹭蹭赶紧找水喝,喝水的时候还不忘把手机拿在手里,耳机插在耳朵里,说时迟,那时快,我的耳机凉快的洗了个澡,可能是因为天气比较热,耳机也想凉快凉快。

       我去市面上没有找到2.5的耳机,基本上是3.5接口,没办法我只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了。3.5的接口的耳机在我手机上本来是没法使用的,因为它没有按照2.5接口的设计,而现在我又想使用这幅耳机,于是乎有了“适配器(Adapter)”这个一个东西出来了。Adapter模式的定义:把一个类的接口变换成客户端所期待的另外一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。我的耳机插口是2,5的,倒霉熊孩子,买错了,买了一个3.5的,怎么办呢?这个时候需要一个“适配器”来帮助我解决问题。今天的设计模式就从我们的耳机开始说起---适配器模式。首先来看看我们适配器的结构图:

            

            对上面的类图进行一些阐述:

           目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
           需要适配的类(Adaptee):需要适配的类或适配者类。
           适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。

           接下来,以上面的例子,看看我们的代码实现:

           

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();
            target.Provide2_5();
            Console.Read();
        }
    }
    //Targe 这里相当于2.5插孔的耳机
    class Target
    {
      public virtual void  Provide2_5()
      {
          Console.WriteLine("我是2.5的接口");
      }
     }



    //Adaptee 这里相当于3.5插孔的耳机
    class Adaptee
    {
       public virtual void  Provide3_5()
      {
        Console.WriteLine("我是3.5的接口");
      }
    }


    //Adapter 这里相当于转换器
    class Adapter:Target
    {
       private Adaptee adaptee = new Adaptee();
       public override void Provide2_5()
      {
           adaptee.Provide3_5();
      }
    }
}
             编程如人生,合适的才是最好的, 鹰击长空,鱼翔潜底,大自然因它们而变得丰富多彩,只因它们找到了适合自己的位置。人类也是如此,找到属于自己的位置,你的人生才会充满意义。   

       

目录
相关文章
|
7月前
|
设计模式 Java
装饰者模式:打破继承限制,实现灵活的功能扩展
装饰者模式:打破继承限制,实现灵活的功能扩展
82 0
|
4月前
|
设计模式
|
4月前
|
设计模式
抽象工厂和原型设计模式之间的区别
【8月更文挑战第22天】
33 0
|
4月前
|
缓存 项目管理
类与类之间的协作模式问题之享元模式在工作中应用的问题如何解决
类与类之间的协作模式问题之享元模式在工作中应用的问题如何解决
|
4月前
|
项目管理
类与类之间的协作模式问题之抽象工厂模式在工作中体现的问题如何解决
类与类之间的协作模式问题之抽象工厂模式在工作中体现的问题如何解决
|
7月前
|
设计模式 Java 数据格式
深入了解适配器模式-优雅地解决接口不匹配问题
适配器模式是一种常用的设计模式,它通过将一个类的接口转换成客户端所期望的另一个接口,使得原本由于接口不兼容或不匹配而无法协同工作的类能够一起工作。适配器模式主要应用于解决不同组件之间的接口不兼容问题,或者在第三方库与现有系统之间进行集成。通过使用适配器模式,可以提高代码的灵活性和复用性,降低系统间的耦合度。适配器模式有多种实现方式,包括类适配器模式、对象适配器模式和接口适配器模式。在使用适配器模式
107 0
|
7月前
|
设计模式
二十三种设计模式全面解析-组合模式与装饰器模式的结合:实现动态功能扩展
二十三种设计模式全面解析-组合模式与装饰器模式的结合:实现动态功能扩展
101 0
|
设计模式 存储 Java
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
170 0
|
设计模式 测试技术
工作中模板方法模式用法及其使用场景
工作中模板方法模式用法及其使用场景
123 0
|
设计模式 算法 测试技术
工作中策略模式用法及其使用场景?
工作中策略模式用法及其使用场景?
139 0