ホームページ バックエンド開発 PHPチュートリアル php设计模式 Facade(外观模式)_php技巧

php设计模式 Facade(外观模式)_php技巧

May 17, 2016 am 09:18 AM
facade PHPのデザインパターン

模式定义:外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。
模式结构:

外观模式的就是让client客户端以一种简单的方式来调用比较复杂的系统,来完成一件事情。

Subsystem:
复制代码 代码如下:

class car {
public function start() {
print_r("车子启动");
}
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();
$carObj->catgo($car);

复制代码 代码如下:

/**
* 外观模式 示例
*
* 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,使得这一子系统更加的容易使用
*/
class SubSytem1
{
public function Method1()
{
echo "subsystem1 method1
";
}
}

class SubSytem2
{
public function Method2()
{
echo "subsystem2 method2
";
}
}

class SubSytem3
{
public function Method3()
{
echo "subsystem3 method3
";
}
}

class Facade
{
private $_object1 = null;
private $_object2 = null;
private $_object3 = null;

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

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

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

// 实例化
$objFacade = new Facade();

$objFacade->MethodA();
$objFacade->MethodB();
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang Facadeモデルを活用した事業開発効率向上手法 Golang Facadeモデルを活用した事業開発効率向上手法 Sep 27, 2023 am 11:33 AM

GolangFacade パターンを使用してビジネス開発効率を向上させる方法論の紹介: 今日のペースの速いソフトウェア開発環境では、開発者は高品質のコードを迅速かつ効率的に開発する必要があります。ビジネス開発効率を向上させるために、デザイン パターンを使用して開発プロセスを簡素化し、コードの複雑さを軽減できます。この記事では、Golang の Facade モードを使用してビジネス開発効率を向上させる方法と、具体的なコード例を紹介します。 1. ファサードモードとは何ですか?ファサードパターンは構造物です

PHPでよく使われるデザインパターンとその実装方法 PHPでよく使われるデザインパターンとその実装方法 Jun 27, 2023 pm 01:08 PM

PHP は広く使用されており、非常に人気のあるプログラミング言語です。 PHP は、今日の Web アプリケーションの非常に重要な部分です。デザイン パターンは、PHP アプリケーションの開発において重要な役割を果たします。デザイン パターンは、さまざまな環境で再利用できる問題を解決するためのテンプレートであり、より良いコードを作成し、コードの信頼性、保守性、拡張性を高めるのに役立ちます。この記事では、PHP で一般的に使用されるデザイン パターンとその実装方法について説明します。シングルトン パターン シングルトン パターンは、次のことを可能にする作成パターンです。

マイクロサービス アーキテクチャにおける Golang Facade パターンの応用の探求 マイクロサービス アーキテクチャにおける Golang Facade パターンの応用の探求 Sep 28, 2023 pm 08:21 PM

マイクロサービス アーキテクチャでの GolangFacade パターンのアプリケーションの探索 マイクロサービス アーキテクチャは、アプリケーションを一連の小規模で自律的で独立して実行されるサービスに分割する方法であり、各サービスは独立して開発、デプロイ、スケーリングできます。このアーキテクチャでは、デバイス サービスは API を介して通信し、さまざまなプログラミング言語とテクノロジー スタックを使用して実装できます。マイクロサービス アーキテクチャでは、さまざまなサービス間に依存関係があり、たとえば、サービスはリクエストを完了するために他の複数のサービスを呼び出す必要がある場合があります。このとき、Facを使用します。

Golang Facade を使用して簡潔なインターフェイス呼び出しを実装する方法 Golang Facade を使用して簡潔なインターフェイス呼び出しを実装する方法 Sep 27, 2023 pm 07:05 PM

GolangFacade を使用して簡潔なインターフェイス呼び出しを実装する方法 はじめに: ソフトウェア開発では、インターフェイス呼び出しは非常に一般的な要件です。 Golang で開発する場合、Facade モードを使用すると、インターフェイス呼び出しの複雑さを簡素化し、コードの可読性と保守性を向上させることができます。この記事では、GolangFacade を使用して簡潔なインターフェイス呼び出しを実装する方法を紹介し、具体的なコード例を示します。 1. ファサードモードとは何ですか?ファサードパターンは構造デザインパターンです

PHP コアの設計パターンと実践 PHP コアの設計パターンと実践 Nov 08, 2023 pm 08:58 PM

PHP のコア デザイン パターンとプラクティスの紹介: デザイン パターンは、ソフトウェア開発で一般的に使用される問題解決テンプレートです。これらは、開発プロセス中にベスト プラクティスと優れたソフトウェア設計原則に従うのに役立つ再利用可能なソリューションを提供します。広く使用されているプログラミング言語である PHP には、コア開発で使用できる一般的で便利な設計パターンも多数あります。この記事では、いくつかの一般的な PHP 設計パターンを紹介し、関連するコード例を示します。 1. シングルトンモード(Singleton) シングルトンモードは、

phpのデザインパターンとは何ですか? phpのデザインパターンとは何ですか? Jul 25, 2023 am 09:39 AM

PHP デザイン パターンには次のものが含まれます: 1. シングルトン モード (クラスにインスタンス化されたオブジェクトが 1 つだけであることを保証します) 2. ファクトリ モード (オブジェクトのインスタンス化プロセスをファクトリ クラスにカプセル化します) 3. 抽象ファクトリ モード (Abstract Factory モード)ファクトリー オブジェクトを作成するパターン; 4. オブザーバー パターン、オブジェクト間の 1 対多の依存関係を実現する; 5. アダプター パターン、あるクラスのインターフェイスを別のクラスのインターフェイスに変換する; 6. デコレーター パターン、動的にいくつかの追加関数を追加するオブジェクト、7. イテレータパターン、8. ストラテジパターン、9. テンプレートメソッドパターンなど

Golang Facade パターンを適用してコード アーキテクチャを最適化する方法 Golang Facade パターンを適用してコード アーキテクチャを最適化する方法 Sep 29, 2023 pm 04:30 PM

GolangFacade パターンを適用してコード構造を最適化する方法 1. はじめに ソフトウェア開発の分野では、コード構造の最適化は非常に重要です。適切に構造化されたコードを含むプログラムは、理解しやすく保守しやすいだけでなく、優れたスケーラビリティと再利用性も備えています。シンプルで効率的な言語である Golang は、開発者がコード構造を最適化するのに役立つ豊富なツールと機能を提供します。一般的な最適化方法の 1 つは、ファサード パターンなどのデザイン パターンを使用することです。 2. ファサードモードとは何ですか? ファサードモード

Golang Facade パターンの紹介とその応用実践 Golang Facade パターンの紹介とその応用実践 Sep 28, 2023 am 09:31 AM

GolangFacade パターンの紹介とアプリケーション実践の概要: Facade は、複雑なシステム サブシステムを隠すためのシンプルなインターフェイスを提供するデザイン パターンです。ファサード モードでは、複雑なロジックと実装の詳細をシンプルなインターフェイスにカプセル化できるため、システムの使用と保守が容易になります。背景: ソフトウェア開発では、複雑なタスクを完了するために複数のモジュールまたはクラスを使用する必要がある場合があります。これらのモジュールは相互に連携する必要がありますが、連携するとコードが複雑になる可能性があります

See all articles