Oefening Facade Pattern
Smart Home System
De huizen van tegenwoordig zijn van alle gemakken voorzien: licht, muziek, verwarming en airco. De meeste van die systemen zijn niet gemaakt om met elkaar samen te werken waardoor je als je thuis komt van je werk, je eerst de verwarming aan moet zetten, de muziek aan moet zetten en de lichten aan moet doen. Dit kan makkelijker!
Onderstaand vind je een vereenvoudigde weergave van deze situatie in de vorm van een class diagram en een sequence diagram:


Zou het niet fijn zijn als er diverse systemen zijn die samenwerken en je met één druk op de knop alles kan regelen? Er zijn minimaal twee plekken waarop een Facade Pattern kan worden toegepast:
- Er is nu een apart systeem voor de verwarming en een apart systeem voor de airco. Dit kan worden samengevoegd in één systeem, een ClimateControl.
- De aansturing van het licht, muziek en de klimaatcontrole kan worden samengevoegd in één systeem, een SmartHomeSystem met voor nu 2 eenvoudige scenario's:
- Scenario 1: Thuis komen van werk
- Scenario 2: Naar bed gaan
Implementeer naast de classes uit het class en sequence diagram de ClimateControl en het SmartHomeSystem met de twee scenario's. Beperk je bij de invulling van de methoden tot System.out.println() statements.