免責事項: この一連のブログの参考資料は、Cheng Jie 著の「Dahua Design Pattern」です。
ファサード モード (アピアランス モードとも呼ばれる) は、複数のサブシステムの複数の異なるインターフェイスにアクセスするための統合インターフェイスを提供することを指し、サブシステム内のインターフェイスのグループに統合された高レベル インターフェイスを提供します。サブシステムを使用すると使いやすくなります。
ケース: 株式投資、新規株主は株を作るための証券知識が理解できず、損をしやすいため、初心者は株の運用を任せるべきです。ファンド会社、ファンド会社に証券の知識を理解していただき、新規投資家はファンド会社に株式を預けて運用していただくことで、どの銘柄の動向を知らずに株式の売買を完了することができます。ここではファンド会社は単なる見せかけ、新規投資家にとっての見せかけにすぎない。
UML クラス図:
役割分析:
ファサード (FacadeCompany) 役割: この役割は、クライアント要求を適切なサブシステム オブジェクトにプロキシする高レベルのインターフェイスをカプセル化し、ファサード パターンのコア インターフェイスです。 。
サブシステム (ICBC) ロール: サブシステムの特定の機能を実装し、FacadeCompany オブジェクトによって割り当てられたタスクを処理します。サブシステムには FacadeCompany に関する情報がなく、FacadeCompany オブジェクトへの参照もありません。利点:
1) サブシステムコンポーネントを顧客から保護できるため、顧客が処理するオブジェクトの数が減り、サブシステムがより使いやすくなります。
2) サブシステムと顧客の間の疎結合関係を実現しますが、サブシステム内の機能コンポーネントは多くの場合密結合です。疎結合関係により、サブシステムのコンポーネントの変更が顧客に影響を与えないようになります。ファサード パターンは、階層システムを確立するのに役立ち、オブジェクト間の依存関係を階層化するのにも役立ちます。
4) ファサード モードは、通常、1 つのサブシステムをコンパイルするのに他のすべてのサブシステムをコンパイルする必要がないため、異なるプラットフォーム間でのシステムの移植プロセスを簡素化するのにも役立ちます。
PHP オブジェクト指向デザインパターン