外观模式
外观模式
Alex外观模式
- 通过在必须的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了来自调用对象的复杂性。
- 设计一个User类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18class 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;
}
} - 设计用户类的外观接口
1
2
3
4
5
6
7
8class UserFacade {
public static function getUserCall($userInfo) {
$User = new User;
$User->setUserName($userInfo['username']);
$User->setUserAge($userInfo['userAge']);
return $User->getUser();
}
} - 调用执行代码
1
2$userInfo = array('username' => 'initphp', 'userAge' => 12);
UserFacade::getUserCall($userInfo); //只要一个函数就能将调用类简化 - 输出
1
用户姓名:initphp; 用户年龄:12