• 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也能达到同样的目的,但是耦合度高,相互产生影响。

  • 相关阅读:
    (转)TextView 设置背景和文本颜色的问题
    (转)Android强制设置横屏或竖屏
    android栈和队列
    关于android开发环境中sdk和adt更新到22.6之后多了appcompat_v7
    (转)android平台下使用点九PNG技术
    (转)多重背包
    (转)完全背包
    (转)01背包
    Longest Palindromic Substring
    Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/-simon/p/5875745.html
Copyright © 2020-2023  润新知