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

facade

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."

Wir freuen uns Sie kennen zu lernen

Hat Sie unser Angebot überzeugt? Dann freuen wir uns, Sie kennen zu lernen. Kontaktieren Sie uns gerne für ein unverbindliches Erstgespräch.

newcubator GmbH
Freie-Vogel-Straße 369
44269 Dortmund
dortmund@newcubator.com
+49 231/586 873 80
newcubator GmbH
Bödekerstraße 22
30161 Hannover
hannover@newcubator.com
+49 511/957 313 00