ファサード 【facade】
概要
ファサード(facade)とは、プログラムの典型的な設計テクニック(デザインパターン)の一つで、複数の構成要素(クラスなど)の窓口となり機能の呼び出しを行うだけの機能を実装したプログラム部品のこと。情報システムやソフトウェアは様々なサブシステムやライブラリ、クラスなどの要素を組み合わせて構築されることが多い。開発が進むに連れて、様々な要素が互いに機能を呼び出し合う複雑な構造となり、特定の処理を行うためにどこにどの順番で何を依頼すれば良いか分かりにくくなることがある。
ファサードは、既存の構成要素を組みわせて実現される何らかのひとまとまりの処理や機能について、外部からの受け付け窓口となる。外部からファサードに処理を依頼すると、内部で各要素への処理依頼(メソッド呼び出し、APIコールなど)を行う。
ファサードには機能を呼び出す以外の独自の処理は実装せず、窓口としてのみ機能する。機能を呼び出す要素の側からファサードを呼び出すことは無く、一方通行の関係となる。各要素がファサードに依存することもなく、ファサードが呼び出す機能はファサードを経由しなくても外部から直接呼び出して利用することができる。
(2023.10.24更新)