外觀模式解析

外觀模式:

外部與一個子系統的通信必須通過一個統一的外觀對象進行,爲子系統中的一組接口提供一個一致的界面,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);



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