概要
内部サブシステムと通信するときは、外観モードである統一された外観モードオブジェクトを介して実行する必要があります。外観モードとしても知られています。一般的に言えば、ファサードパターンは、クライアントと実装レイヤー間の依存性を減らすことです。外観モードの目的は、サブシステムに集中化された単純化された通信チャネルを提供することです。
UMLクラス図
上記のUML図には、3つの文字が表示されます。
クライアントの役割:ユーザーは、クライアントを介して外観パターンクラスを呼び出してサブシステムを操作します。
ファサード:クライアントはこのクラスを呼び出すことができます。これには、呼び出しサブシステムに特定の機能が含まれています。
サブシステムの役割(モジュール):サブシステム内の特定の個々の関数を定義します。
コード例:
パッケージインタビュー; class modulea {public void testa(){system.out.println( "modulea in modulea"); }} class moduleb {public void testb(){system.out.println( "moduleb in moduleb"); }} class modulec {public void testc(){system.out.println( "modulec in modulec"); }} class facade {public void testa(){modulea modulea = new modulea(); modulea.testa(); } public void testb(){moduleb moduleb = new moduleb(); moduleb.testb(); } public void testc(){modulec modulec = new modulec(); modulec.testc(); }} public class maintest {public static void main(string arg []){facade facade = new Facade(); facade.testa(); facade.testb(); facade.testc(); }}上記のコードでは、ファサードクラスは、ModuleA、ModuleB、およびModuleCモジュールの外観インターフェイスとして機能します。このクラスを通じて、クライアントはサブシステムのABCモジュールを直接呼び出す必要はなく、システム内の詳細を知る必要はないため、クライアントとシステム間のデカップリングをより適切に実装する必要もありません。
同時に、外観モードを使用して、メソッドをオプションで公開できます。モジュールで定義されているメソッドは、サブシステムの外側で使用するために、部分的にサブシステム内のモジュールが互いに呼ばれる場合、2つの部分に分割できます。
外観モードの利点
外観パターンは、クライアントとサブシステムの間の結合関係を緩め、サブシステム内のモジュールの拡張と維持を容易にします。
サブシステムを使いやすくします。クライアントは、サブシステムの実装を理解する必要もなく、サブシステムの多くの内部モジュールと対話する必要もありません。外観クラスと対話するだけです。
アクセスのレベルをより適切に分割するのに役立ちます。一部の方法はシステムの外側にあり、他の方法は内部で使用されます。クライアントが使用するのに便利であるだけでなく、内部の詳細をよく隠すだけでなく、ストアフロントに外側にさらされる必要がある関数を濃縮します。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。