zoukankan      html  css  js  c++  java
  • PHP设计模式之适配器模式

    将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本的由于接口不兼容而不能一起工作的那些类可以一起工作。
    应用场景:老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。

    //老的代码     
    class User {    
        private $name;    
        function __construct($name) {    
            $this->name = $name;    
        }    
        public function getName() {    
            return $this->name;    
        }    
    }   

    //新代码,开放平台标准接口    
    interface UserInterface {    
        function getUserName();    
    }    
    class UserInfo implements UserInterface {    
        protected $user;    
        function __construct($user) {    
            $this->user = $user;    
        }    
        public function getUserName() {    
            return $this->user->getName();    
        }    
    }   

    $olduser = new User('张三');    
    echo $olduser->getName()."n";    
    $newuser = new UserInfo($olduser);    
    echo $newuser->getUserName()."n";   

    注意点:这里的新接口使用了组合方式,UserInfo内部有一个成员变量保存老接口User对象,模块之间是松耦合的,这种结构其实就是组合模式。不要使用继承,虽然UserInfo继承User也能达到同样的目的,但是耦合度高,相互产生影响。

  • 相关阅读:
    经典javascript
    大话prototype
    DataTable使用方法总结
    实验四 Web服务器1socket编程
    2.4 OpenEuler中C语言中的函数调用测试
    20191323王予涵第13章学习笔记
    20191323王予涵第十三章学习笔记
    2.5 OpenEuler 中C与汇编的混合编程
    个人贡献
    20191323王予涵第十二章学习笔记
  • 原文地址:https://www.cnblogs.com/-simon/p/5875745.html
Copyright © 2011-2022 走看看