10.2.2021
Facade
Fassade
- einer der GoF-Design-Pattern
- ist die Middleware zwischen den Subsystemen und dem Client
- eine Fassade übergibt wichtige Funktionalitäten der der Software an die jeweiligen Subsysteme, um den Umgang mit den verschiedenen Teilkomponenten eines Programms so einfach wie möglich zu gestalten
Vorteile:
- der Code ist einfacher zu verwenden, zu verstehen und zu testen
- sauberer Code, da der Client keine komplexe Schnittstelle verwendet und das System flexibler und wiederverwendbar ist
class Lights {
turnOn() {
console.log('Lights on.');
}
turnOff() {
console.log('Lights off.');
}
dim() {
console.log('Lights dimmed.');
}
}
/*************************************/
class Heating {
turnOn() {
console.log('Heating on.');
}
turnOff() {
console.log('Heating off.');
}
}
/*************************************/
class TV {
turnOn() {
console.log('TV on.');
}
turnOff() {
console.log('TV off.');
}
}
/*************************************/
class Facade {
private lights: Lights;
private heating: Heating;
private tv: TV;
constructor(lights: Lights, heating: Heating, tv: TV) {
this.lights = lights;
this.heating = heating;
this.tv = tv;
}
public cozyEvening() {
this.lights.dim();
this.heating.turnOn();
this.tv.turnOn();
}
}
/*************************************/
const lights = new Lights();
const heating = new Heating();
const tv = new TV();
const facade = new Facade(lights, heating, tv);
facade.cozyEvening();
"Lights dimmed."
"Heating on."
"TV on."
Standort Hannover
newcubator GmbH
Bödekerstraße 22
30161 Hannover
Standort Dortmund
newcubator GmbH
Westenhellweg 85-89
44137 Dortmund