外観パターンは構造パターンです
概要: サブシステム内の一連のインターフェイスに一貫したインターフェイスを提供します。このパターンは、このサブシステムをシステムが使いやすくなりました
外観モードは、クライアントが 1 つのことを完了するためにより複雑なシステムを呼び出すことができるようにするものです。
1 を提供します。複雑なサブシステムのためのシンプルなインターフェース
2. クライアントとサブシステム間の結合を減らす
個人的な例:
1 ハンドケーキを買う
< ;?php
namespace haibaodesignwebviewdesign;
use haibaodesignwebcommondesignadapterTranslator;
class Facade extends haibaodesignwebviewBase{
保護された関数 preRender(){
header("Content-type: text/html; charset=utf-8");
$facade = new haibaodesignwebcommondesignfacadeFacade();
$facade->facade1(); >
echo '$facade->facade2();
}
}
< ;?php
/**
* ボスレディのハンドケーキ
*/
namespace haibaodesignwebcommondesignfacade;
class Facade{
public $object1;
public $object2;
public $object3;
public function __construct(){
$this->object1 = new SubSystem1;//pie
$this->object2 = new SubSystem2; // ブラシ
$this->object3 = new SubSystem3; // 腸を追加します
}
public関数 facade1(){
$this->object1->getMessage();
$this->object2->getMessage();
}
パブリック関数 facade2(){
$this->object2->getMessage();
$this->object3->getMessage ();
}
}
/**
* サブクラス
*/
namespace haibaodesignwebcommondesignfacade;
class SubSystem1{
public function getMessage(){
echo 'サブシステム 1';
}
}
/**
* サブクラス
*/
namespace haibaodesignwebcommondesignfacade;
class SubSystem2{
public function getMessage( ){
echo 'サブシステム 2';
}
}
/**
* サブクラス
*/
namespace haibaodesignwebcommondesignfacade;
class SubSystem3{
public function getMessage(){
echo 'Subsystem 3';
}
}