パターン定義: ファサード パターン: サブシステムとの外部通信は、サブシステム内の一連のインターフェイスに一貫したインターフェイスを提供するために、統合されたファサード オブジェクトを通じて実行する必要があります。このインターフェイスにより、このサブシステムが容易になります。使用します。アピアランスモードはファサードモードとも呼ばれ、オブジェクト構造モードです。
モード構造:
コードをコピーします コードは次のとおりです:
class car {
public function start() {
print_r("Car starting")
}
public function check_stop() {
; print_r("ブレーキが正常かどうかを確認します");
}
public function check_box() {
print_r("燃料タンクが正常かどうかを確認します");
}
public function check_console() {
print_r("ダッシュボードが異常かどうかを確認します");
}
}
//ファサード モード
class carfacade {
public function catgo(car $carref){
$carref->check_stop();
$carref->check_box();
$carref- >check_console();
$ carref->start();
}
}
//クライアントは単にそれを呼び出すことができます。
$car = new car();
$carObj = new carfacade();
コードは次のとおりです:< ;?php
/*** 外観パターンの例
*
* サブシステム内の一連のインターフェースに一貫したインターフェースを提供し、このサブシステムを使いやすくするための高レベルのインターフェースを定義します
*/
class SubSytem1
{
public function Method1()
{
echo "subsystem1 method1
";
}
}
class SubSytem2
{
public function Method2 ()
{
echo "サブシステム 2 メソッド 2
";
}
}
クラス SubSytem3
{
パブリック関数 Method3()
{
エコー "サブシステム 3 メソッド 3
";
}
クラスファサード
{
private $_object2 = null;
public function __construct()
$this->_object1 = new SubSytem1(); >_object2 = 新しい SubSytem2();
$this->_object3 = 新しい SubSytem3();
public function MethodA() {
echo "Facade MethodA
"; ->メソッド1();
$this->_object2->メソッド2();
パブリック関数MethodB() {
$this->_object2- >Method2 ();
$this->_object3->Method3();
}
//
$objFacade = new Facade();
$objFacade をインスタンス化します。 -> ;メソッドB();
以上、headfirst デザインパターン、PHP デザインパターン、Facade 外観パターンを紹介しました。headfirst デザインパターンの内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。