2018/05/11 PHP 设计模式之 适配器模式

什么是适配器模式?

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

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

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

  所谓适配器,就是这样。

 

适配器模式的应用场景?

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

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

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

  很尴尬,是吧。

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

 

简单实现一个适配器

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

  用来适配不断变化的。

  代码的实现方式有很多。

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

// 适配器
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();
    }
}
posted @ 2018-05-11 18:01  Zzz哈  Views(138)  Comments(0Edit  收藏  举报