zoukankan      html  css  js  c++  java
  • 适配器模式(Adapter Pattern)

      最近在学习设计模式,看了一些有关的书和博客,有了一点理解。算是自我的小总结,抛砖引玉,希望可以给大家一些启发。

      简单地说,适配器模式将某个对象的接口适配为另一个对象所期望的接口

      小例子:我们知道,电厂供电标准电压220V,而我们的许多用电设备并不仅限于220V,这时候,适配变压器成了一个伟大的发明。通过适配变压,使得电压可以适合任何设备的供电。同理,适配器模式可以这样简单的理解:当我们在调用已有的类库或者某些功能服务时,可以经过适配器类的处理,使得在原有功能更加特殊化、适用某一类对象。

    1.类的Adapter UML图 
                    
    类结构图:
                            

      代码:

     1 interface AllPower{
     2     function GetPower();
     3 }
     4 // 220V电源类;
     5 class Power{
     6 // 从电源中得到220V的电压;
     7     function GetPower220V(){
     8     }
     9 }
    10 // 适配器类(充电器);
    11 class Adapter extends Power implements AllPower{
    12 // 得到想要电压;
    13  function GetPower(){
    14     this->GetPower220V();
    15       echo("得到设备的额定电压!");
    16    }
    17 }
    18 class Equip{
    19  // 这里相当于是设备;
    20     function a(){
    21         $Target = new Adapter();
    22         $b=$Target->GetPower();
    23         echo "设备:".$b;
    24      }
    25 } 

    在ZendFrame work中,链接Mysql数据库时,运用Adapter拿到适配器实现数据库连接。

    参考博客:http://www.cnblogs.com/houleixx/archive/2008/03/04/1090214.html

    参考书籍:《PHP设计模式》Aaron Aaray  http://book.douban.com/subject/4865086/

  • 相关阅读:
    java项目启动报Unsupported major.minor version 51.0错
    eclipse启动报错
    使用ftp加IP上传文件
    Java替换中使用正则表达式实现中间模糊匹配
    使用Tomcat安装版启动项目
    java文件流操作
    mybatis所需pom文件内容以及配置文件
    个人写spark小测试
    spark介绍2
    RDD介绍与执行
  • 原文地址:https://www.cnblogs.com/dongsh/p/3209582.html
Copyright © 2011-2022 走看看