外観モードとも呼ばれるファサードパターンは、システムの複雑さを隠し、クライアントにシステムにアクセスできるインターフェイスを提供します。このタイプの設計パターンは、構造パターンです。既存のシステムにインターフェイスを追加して、システムの複雑さを隠し、サブシステム内の一連のインターフェイスの統一された高レベルアクセスインターフェイスを提供します。これにより、サブシステムがアクセスまたは使用が容易になります。このパターンには、クライアントリクエストの簡素化された方法と既存のシステムクラスメソッドへの委任通話を提供する単一のクラスが含まれます。
要するに、複雑なプロセスをインターフェイスにカプセル化することが、ユーザーが使いやすく使用できるようにするためのインターフェイスになります。このデザインパターンには3つの役割があります。
1)ファサード文字(ファサード):これはファサードモードのコアです。クライアントの役割によって呼ばれているため、サブシステムの機能に精通しています。顧客の役割の既存のニーズに基づいて、いくつかの機能的な組み合わせを内部的に留保します。
2)サブシステムの役割(サブシステム):サブシステムの関数を実装します。そのため、ファサードの役割はクライアントの役割と同じくらい不明であり、ファサードの役割への情報とリンクはありません。
3)クライアントの役割:ファサードの役割を呼び出して、取得する関数を完了します。
簡単な実装の例は次のとおりです。
//統一された入り口のパブリッククラスのshapemaker {private shape circle; private shape rectangle; private shape square; public shapemaker(){circle = new circle(); rectangle = new rectangle(); square = new square();} public void drawcircle(){circle.draw();} public drawer.dragh(); {square.draw();}} //以前に定義された外観クラスを直接使用して、さまざまな形状を描画します。取得と描画方法については、パブリッククラスのfacadepatterndemo {public static void main(string [] args){shapemaker shapemaker(); shapemaker.drawcircle(); shapemaker.drawrectangle(); shapemaker.drawsquare();図1:UML図
class doogrerone {public void open(){system.out.println( "最初の引き出しが開かれます"); getKey();} public void getKey(){system.out.println( "2番目の引き出しにキーを取得);}}クラスdrawertwo {public void open(){system.out.out.out.out.println( Opened "); getFile();} public void getFile(){system.out.println("この重要なファイルを取得) {darwerone.open(); darwertwo.open();}} public class drawerclient {public static void main(string [] args){drowerfacade drawer = new drowrerfacade(); drower.open(}}}}ファサードモードの使用シナリオ:
(1)複雑なモジュールまたはサブシステムへの外部アクセスを提供するモジュール。
(2)サブシステムは比較的独立しています。
(3)階層構造では、システム内の各レイヤーの入り口を外観パターンを使用して定義できます。
上記は、編集者によって導入されたJavaデザインモデル(外観モード)の詳細な説明です。私はそれが誰にでも役立つことを願っています!