什么是适配器模式?

  简单来说,我想买一根充电线,我买一根安卓的?还是买一根苹果的?

  我也不确定,因为我以可能会换手机,对于我的形式我也不确定。

  所以,我要买一根可以同时适配 安卓/苹果 的线。

  所谓适配器,就是这样。

 

适配器模式的应用场景?

  在我们的实际项目中,会引入 第三方 的库。

  这个第三库并不是我们维护的,可能在之后的某次大版本升级时,更换了某些关键函数的名称。

  这时我们非常想使用第三方库里面的新特性,但是在程序中充满了旧函数。

  很尴尬,是吧。

  所以在这里引入适配器模式,不管底层怎么变化。我都有一个统一的接口来返回。

 

简单实现一个适配器

  记住我们要做什么,就是新建不改变的一套接口。

  用来适配不断变化的。

  代码的实现方式有很多。

  这里是我的一套简单的实现。

// 适配器
class Cache
{

    public $drive;

    public function __construct() {
        $this->drive = new Redis();
    }

    public function get($key) {
        return $this->drive->get();
    }

    public function set($key, $name) {
        return $this->drive->set();
    }
}

//服务端
class Redis
{
    public $_drive;

    public function __construct() {
        $this->_drive = new \Redis();
    }

    public function get($key) {
        return $this->_drive->get();
    }

    public function set($key, $name) {
        return $this->_drive->set();
    }
}

相关文章:

  • 2022-12-23
  • 2021-06-22
  • 2021-11-14
  • 2021-11-16
  • 2021-09-21
  • 2022-01-23
  • 2022-12-23
  • 2021-05-19
猜你喜欢
  • 2021-09-11
  • 2021-12-13
  • 2022-02-11
  • 2021-09-10
  • 2021-08-06
相关资源
相似解决方案