外观模式

外观模式

  • 通过在必须的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了来自调用对象的复杂性。
  • 设计一个User类
class User {

    protected $userName;
    protected $userAge;

    public function setUserName($userName) {
        return $this->userName = $userName;
    }

    public function setUserAge($userAge) {
        return $this->userAge = $userAge;
    }

    public function getUser() {
        echo '用户姓名:' . $this->userName . '; 用户年龄:' . $this->userAge;
    }

}
  • 设计用户类的外观接口
class UserFacade {
    public static function getUserCall($userInfo) {
        $User = new User;
        $User->setUserName($userInfo['username']);
        $User->setUserAge($userInfo['userAge']);
        return $User->getUser();
    }
}
  • 调用执行代码
$userInfo = array('username' => 'initphp', 'userAge' => 12);
UserFacade::getUserCall($userInfo); //只要一个函数就能将调用类简化
  • 输出
用户姓名:initphp; 用户年龄:12