ファサードとは複雑なAPIをシンプルにするためのインターフェースのことです。ファサードを導入すると、システム内部の概念を単純化して理解でき、保守費用も抑えることができます。また、APIをファサードの向こう側に隠蔽することで柔軟性も向上します。本稿では、ProcessBuilder APIを例にとり、ファサードデザインパターンを解説していきます。 はじめに ソフトウェアシステムは決して完璧なものではありません。開発者はほぼ例外なく、システム品質と要求とのバランスを取る必要に迫られます。ソフトウェアはリリースしなければ話になりません。そのため、開発者は自分が最も適切だと考えるデザインで作業を進めていかなくてはいけません。 また、開発者はソフトウェアがリリース後、実際にどのように使われるかもよく知っています。この効果は、公開されたプログラミングインターフェース(つまりAPI)を必要とするシステム