
260
7
章
照明、カメラ、ファサード
ここで必要なのはまさにファサードです。
Facade
パターンでは、複雑なサブシス
テムを、より適切なインタフェースを備えたファサードクラスを実装することで使
いやすくします。複雑なサブシステムの威力が必要な場合は、引き続き使えるので、
心配いりません。わかりやすいインタフェースだけが必要な場合に、ファサードが
役に立つのです。
ファサードがどのように機能するか見てみましょう。
照明、カメラ、ファサード!
watchMovie()
endMovie()
listenToRadio()
endRadio()
HomeTheaterFa
cade
TheaterLights
on()
off()
dim()
toString()
PopcornPopper
on()
off()
pop()
toString()
Screen
up()
down()
toString()
Tuner
on()
off()
setAm()
setFm()
setFrequency()
toString()
amplifier
Amplifier
tuner
player
on()
off()
setStreamingPlayer()
setStereoSound()
setSurroundSoud()
setTuner()
setVolume()
toString()
Projector
on()
off()
tvMode()
wideScreenMode()
toString()
player
StreamingPlay
er
amplifier
on()
off()
pause() ...