外観モード
ファサード デザイン パターンは、必要なロジックとメソッドのコレクションの前に単純なファサード インターフェイスを作成することで、呼び出し元オブジェクトの複雑さを隠します。
外観デザイン パターンはビルダー パターンと非常によく似ています。ビルダー パターンは一般にオブジェクト呼び出しの複雑さを簡素化し、外観パターンは一般に多くの論理ステップとメソッド呼び出しの複雑さを簡素化します。
応用シナリオ
ユーザー情報を取得するための 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
クラス 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
true