10. ファサードパターン (Facade)
複雑な内部システムを隠して単純化された単一の窓口を提供するファサードパターンについて学びましょう。
ファサードパターン (Facade Pattern)
映画館に行って映画を見るにはエアコンもつけて、照明も暗くして、スクリーンも下ろして、映写機もつけなければなりませんよね?この全ての複雑な過程を「映画を見る」ボタン一つにまとめてくれるのがまさにファサード(Facade、建物の正面外観)パターンですね。ユーザーは内部の複雑なシステムを知る必要なく、まとめられたボタンだけを押せば良いです!
(参考:それぞれの複雑なシステムたちです)
【エアコン】を設計しよう:
〈つける〉を作ろう():
「エアコンの風がヒューヒュー〜」を出力しよう
【照明】を設計しよう:
〈暗くする〉を作ろう():
「照明を映画館のように暗くします。」を出力しよう
【テレビ】を設計しよう:
〈ネットフリックスをつける〉を作ろう():
「ネットフリックスを実行しますド・ドン!」を出力しよう
(参考:システムたちを集めて単純なボタン一つを提供します)
【ホームシアター】を設計しよう:
『エアコン』を【エアコン】の新しい【エアコン】()に隠そう
『照明』を【照明】の新しい【照明】()に隠そう
『テレビ』を【テレビ】の新しい【テレビ】()に隠そう
〈映画を見る〉を作ろう():
「---映画を見る準備を始めます---」を出力しよう
『私』の『エアコン』の〈つける〉()を実行しよう
『私』の『照明』の〈暗くする〉()を実行しよう
『私』の『テレビ』の〈ネットフリックスをつける〉()を実行しよう
「準備完了!ポップコーンを持ってきてください!」を出力しよう
『我が家』を【ホームシアター】の新しい【ホームシアター】()にしよう
『我が家』の〈映画を見る〉()を実行しよう