外观模式解析

外观模式:

外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用;外观模式又称为门面模式,它是一种对象结构型模式

外观模式就是让client客户端以一种简单的方式来调用比较复杂的系统来完成一件事情;

目的:

1、为一个复杂子系统提供简单的接口

2、减少客户端和子系统的耦合

<?php

/1**

 * 外观模式

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

 */


/1**

 * 

 * User类

 * @author lzs

 *

 */

class User

{

protected $userName;

protected $userAge;

 

public function setUserName($userName)

{

return $this->userName $userName;

}

 

public function setUserAge($userAge)

{

return $this->userAge $userAge;

}

 

/1**

 * getUser方法

 * 获取用户信息

 */

public function getUserInfo()

{

echo '用户姓名:'.$this->userName.'<br />用户年龄:'.$this->userAge;

}

}

 

/1**

 * UserFacade外观模式类,简化获取用户getUserInfo方法的调用

 */

class UserFacade

{

public static function getUser($userInfo)

{

$User new User();

$User->setUserName($userInfo['username']);

$User->setUserAge($userInfo['userAge']);

return $User->getUserInfo();

}

}

 

$userInfo array(

'username' => 'lzs',

'userAge'  => 21,

);

//简化调用类

UserFacade::getUser($userInfo);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章