ホームページ > バックエンド開発 > PHPチュートリアル > PHPデザインパターン Facade(外観モード)_PHPチュートリアル

PHPデザインパターン Facade(外観モード)_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:27:19
オリジナル
1218 人が閲覧しました

パターン定義: ファサード パターン: サブシステムとの外部通信は、サブシステム内の一連のインターフェイスに一貫したインターフェイスを提供するために、統合されたファサード オブジェクトを通じて実行する必要があります。このインターフェイスにより、このサブシステムが容易になります。使用します。アピアランスモードはファサードモードとも呼ばれ、オブジェクト構造モードです。
パターン構造:

外観モードを使用すると、クライアントは 1 つのことを完了するために、より複雑なシステムを簡単な方法で呼び出すことができます。

サブシステム:
コードをコピーします コードは次のとおりです:

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("インパネが正常かどうかを確認します異常です");
}
}

//facade モード
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 $_object1 = null;
private $_object3 = null;

public function __construct()
{
$this->_object1 = new SubSytem1();
$this ->_object2 = 新しい SubSytem2();
$this->_object3 = 新しい SubSytem3();
}

public function MethodA() {
echo "Facade MethodA
"; this->_object1->Method1();
$this->_object2->Method2();

public function MethodB() {
echo "Facade MethodB
"; this->gt;_object2->Method2();
$this->_object3->Method3()
}

//
$objFacade = new Facade(); をインスタンス化します。 ;メソッドA();
$objFacade->メソッドB();



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

www.bkjia.com

tru​​e

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

技術記事

パターン定義: ファサード パターン: サブシステム内の一連のインターフェイスに一貫したインターフェイスを提供するには、サブシステムとの外部通信を統合されたファサード オブジェクトを通じて実行する必要があります...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート