Facadeパターン サンプルコード付き解説

Java画像

Facadeパターンとは?

Facadeパターンとは、複雑に絡み合ってごちゃごちゃした詳細をまとめ、高レベルのインターフェースを提供します。

Facade役は、システムの外部に対してはシンプルなインターフェースを見せます。またFacade役はシステムの内側にある各システムの役割や依存関係を考えて、正しい順番でクラスを利用します。

メリット

  1. インターフェースを少なくできる
  2. 呼び出しの順番を気にしなくて良くなる

サンプルコード

資料作成を依頼し、資料のチェックまで誰かにお願いするサンプルコードを見ていきましょう。

サンプルコードでは、簡略化のため全ての関数の処理をprintlnのみで構成しています。

クラス図はこんな感じになります。

DocumentCreaterクラス

ドキュメントを作成し、上司へ提出するクラスです。

DocumentCheckerクラス

提出されたドキュメントを確認するクラスです。

DocumentMakerクラス

DocumentMaker,DocumentCheckerクラスを使って、資料作成〜チェックまでを支持するクラスです。

Facadeパターンで一番重要なクラスになります。

ポイントは以下の2点

  • 外部(Mainクラス)に対しては、createDocumentメソッドだけを見せているとてもシンプルな窓口です。(メリット①)
  • 書くメソッドの使用順は,createDocumentメソッドに隠蔽されている(メリット②)

Mainクラス

出力

参考書籍

Java言語で学ぶデザインパターン第3版

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


error: Content is protected !!