ホームページ  >  記事  >  バックエンド開発  >  PHP デザインパターン シリーズ - 外観パターン_PHP チュートリアル

PHP デザインパターン シリーズ - 外観パターン_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:52:10861ブラウズ

外観モード
ファサード デザイン パターンは、必要なロジックとメソッドのコレクションの前に単純なファサード インターフェイスを作成することで、呼び出し元オブジェクトの複雑さを隠します。
外観デザイン パターンはビルダー パターンと非常によく似ています。ビルダー パターンは一般にオブジェクト呼び出しの複雑さを簡素化し、外観パターンは一般に多くの論理ステップとメソッド呼び出しの複雑さを簡素化します。
応用シナリオ
ユーザー情報を取得するための getUser インターフェースを備えた User クラスを設計します
getUser インターフェースを使用する場合、ユーザーのユーザー名とユーザーの年齢を設定する必要があります
したがって、通常の状況では、getUser インターフェイスを呼び出すときは、最初に User クラスをインスタンス化し、次にユーザー情報を設定し、最後に getUser メソッドを呼び出す必要があります。このプロセスは、ユーザー情報が多い場合や複雑な場合に行われます。たとえば、ビジネスが拡大するにつれて、ユーザーの携帯電話、住所、体重、婚姻状況などの情報が追加されるため、ユーザー情報クラスを呼び出す必要があります。
UserFacade は、getUser 関数を直接呼び出すことができる静的メソッド getUserCall を含むように設計されています。
コード: getUser クラス
[php]
//ファサード パターン。必要なロジックとメソッドのコレクションの前にシンプルなファサード インターフェイスを作成することで、ファサード デザイン パターンは呼び出し元のオブジェクトから複雑さを隠します
クラス ユーザー {

保護された $userName
保護された $userAge

パブリック関数 setUserName($userName) {
return $this->userName = $userName; }

パブリック関数 setUserAge($userAge) {
return $this->userAge = $userAge; }

パブリック関数 getUser() {
echo 'ユーザー名:' . $this->userAge; }

}

コード: UserFacade ユーザークラスの外観インターフェイス、getUserCall インターフェイス
[php] www.2cto.com

// ユーザーの getUser メソッドを取得するための呼び出しを簡素化するために、ユーザー クラス呼び出しインターフェイスを作成します

クラス UserFacade {
パブリック静的関数 getUserCall($userInfo) {
$User = 新しいユーザー
$User->setUserName($userInfo['username']); $User->setUserAge($userInfo['userAge']); return $User->getUser(); }
}
$userInfo = array('username' => 'initphp', 'userAge' => 12); UserFacade::getUserCall($userInfo); // 1 つの関数だけで呼び出しクラスを簡素化できます

作者: initphp




http://www.bkjia.com/PHPjc/478146.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/478146.html技術記事ファサード デザイン パターンは、必要なロジックとメソッドのコレクションの前に単純なファサード インターフェイスを作成することで、呼び出し元オブジェクトの複雑さを隠します。 デザインモードとビルダーモードは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。