zoukankan      html  css  js  c++  java
  • php适配器模式

    php适配器模式


    适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。

    这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。

    示例:

    //假设使用php开发了一个天气接口
    class Weather{
        public static function show(){
            $info = array(
                'temperature' => '25°C',
                'wind' => '西北风3~4级',
                'weather' => '晴',
                'PM2.5' => 60
            );
            return serialize($info);
        }
    }
    
    //PHP客户端调用
    $msg = Weather::show();
    $msg_arr = unserialize($msg);
    echo $msg_arr['weather'];
    
    //这时,如果java、python也要来调用天气接口,
    //但是不识别串行化后的字符串,但是又不能修改旧接口和旧php的调用
    //这时候可以用一个新的类继承,也就是适配器模式,来修改返回的数据格式为json
    
    class WeatherAdapter extends Weather{
        public static function show(){
            $info = parent::show();
            $info_arr = unserialize($info);
            return json_encode($info_arr);
        }
    } 
    
    //java、python就可以使用返回的json进行使用
    $msg = WeatherAdapter::show();

  • 相关阅读:
    .net core ELK
    mongodb基础
    .net core FluentValidation
    使用Identity Server 4建立Authorization Server
    .net core JWT应用
    .net core action过滤器的普通应用
    matplotlib
    python-13:文件操作 之二
    python-13:文件操作 open
    python-12:内置 函数之一 filter map sorted reduce
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9682254.html
Copyright © 2011-2022 走看看