《设计模式 - 适配器模式》

 

周六上班,心痛的赶脚~

 

1:什么是适配器?

  - 小李要去美国旅游了,到了之后发现,美国插座电压是 250V 的,自己的国产手机插上去肯定时不行的,这时小李有三种办法解决这个问题

    1:强烈抗议美国没有 220V插座,要求美国必须在每个插座旁边在安装一个 220V插座。

    2:自己在美国再买个手机,可以用 250V充电的那种。

    3:买个转接头,可以把美国 250V的电压适配成 220V的。

  - 你要选了 1,2 ,对不起,打扰了

  - 通过上面的例子,引出了适配器的定义

  - 适配器模式(Adapter),将一个类的接口换成客户端希望的另一个接口,Adapter 使得原本接口不兼容而不能在一起的类可以一起工作

  - 通俗的说,就是我希望可以通过这个接口访问另一个接口,使得这两个接口可以提供一套服务

 

2:适配器的使用场景

  - 使用别人的插件,代码,服务,这时就需要适配器,以防止其他人的改变导致自己的服务崩溃。

  - 使用一个已经存在的类,但是你的要求和类不太相同时,应该考虑使用。

  - 其实适配器大是多数更是一种无奈之举,产品的开发本身就是会改变的。

  - 也就是说,使用原则是,在双方都不太容易修改的时候使用适配器

 

3:适配器的实现

  - 根据上面我们了解到,适配器需要三个角色,被适配对象,适配者,适配器

  - 这里我们先写一个被适配对象

class operation1
{
    public function operation(){
        echo '我是需要适配的对象,我的方法不太好改';
    }
}

  - 适配器

class Adapter
{
    public function operation()
    {
        $operation1 = new operation1();
        $operation1->operation();
    }
}

  - 适配者

$Adapter = new Adapter();
$Adapter->operation();

  - 这里我们访问的 Adapter 其实是 operation1 ,这里适配了 operation

 

4:地址

  github

posted @ 2018-12-08 17:16  Zzz哈  Views(113)  Comments(0Edit  收藏  举报