Entwurfsmuster in JavaScript: Mixins 18.09.2017, 16:51 Uhr

Dynamisch hinzufügen

Mixins bezeichnen in der objektorientierten Programmierung zusammengehörige Funktionalität, die bestehenden Klassen hinzugefügt werden kann.
Die Idee von Mixins ist es, bestimmte Funktionalität dynamisch zu bestehenden Klassen beziehungsweise Klassenhierarchien hinzufügen zu können. Nehmen wir als Beispiel die Funktionalität des Persistierens: statt diese in jeder Klassenhierarchie erneut zu implementieren oder eine gemeinsame Persistenz-Basisklasse zu verwenden, lagert man die Funktionalität in ein Mixin aus und bindet sie bei Bedarf dynamisch ein. In einigen Sprachen wie Scala, Ruby oder Go werden Mixins nativ unterstützt. In JavaScript muss man Mixins über verschiedene Techniken nachbilden. Eine naive Implementierung zeigt das folgende Listing:
 

function mixin(source, target) {

  for (var property in source) {

    if (source.hasOwnProperty(property)) {

      target[property] = source[property];

    }

  }

}

 

Diesen Artikel lesen Sie exklusiv als web & mobile DEVELOPERplus Abonnent

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt web&mobile Developer plus Kunde.
- 2 Monate Gratis testen
- Über 4.000 qualifizierte Fachartikel
- Diverse DevBooks thematisch für Sie zusammen gestellt
- Webcasts von 30 - 90 Min.
- Aufzeichnungen von ausgewählten Fortbildungen und Konferenzen
- Auf jedem Gerät verfügbar