【デザインパターン】【GoF】ファサード(Facade)パターン

Facadeパターンとは?

 * 既存のクラスを複数組み合わせて使う手順を、「窓口」となるクラス(=Facade)を作ってシンプルに利用できるようにするパターン
(=>このパターンを作った意義は、すごく良く分かる。よく使うパターンは、色々なクラスを組み合わせるよりも、グループ化していてUtilみたいに使える方がいいもん、実際。)
 * Facade:見かけ(Franch)
 * 下の図が一番分かりやすい。
http://itpro.nikkeibp.co.jp/article/COLUMN/20051216/226402/img1.jpg

目的・利点

 * 複雑になったクラス同士の依存関係を整理し、実行順序を整え、機能を利用しやすい形にする
 * サブシステム内の複雑なクラス同士の関係を、利用者側から隠して、利用しやすくする。
 * Facadeクラスが正しい順番で確実にクラス群を扱ってくれるので、開発者によるケアレスなバグを未然に防げる

適用例

 * Facade => 指定された条件で SQL 文を作って、DataBase に投げて、結果セットを吐き出す部分
 * Facadeを使う側 => それを使って画面に表示