Frage

Kann jemand erklären, warum der Name „Decorator“ für die Funktionalität durch das Decorator-Entwurfsmuster gefördert wurde gewählt?

Ich habe immer gefunden, dass Namen ziemlich irreführend, weil Dekorateur und Kennzeichnung Schnittstelle Sound sehr ähnlich zu mir in ihrem Zweck. Während jedoch ein Marker nicht wirklich „alles tun“, Dekorateure tun sicher. Aber der Begriff Dekorationen für mich bedeutet, Passivität, die nicht wirklich der Fall mit diesem Muster ist, das verwendet wird Funktionalität hinzuzufügen.

War es hilfreich?

Lösung

Ich glaube, dass der Ursprung des Begriffs aus dem Beispiel Einsatz kommt eine Benutzeroberfläche mit verschiedenen Komponenten der Dekoration, zum Beispiel, Bildlaufleisten, in der Nähe Knöpfe, etc.

EDIT: Referenz Seite 308 in "Design Patterns in C #" von Steven John Metsker:

  

Einer der ursprünglichen Anwendungen von DECORATOR (und vermutlich auch die Anwendung, aus der DECORATOR leitet seinen Namen) liegt in der Konstruktion von GUI-Komponenten.

Andere Tipps

Ich denke, die Analogie ist, dass wenn Sie ein Haus dekorieren Sie wirklich keine Wände oder so etwas brechen, müssen Sie nur ein paar Sachen setzen um (so viele, wie Sie wollen) in einer Weise, dass ändert, wie es aussieht (und seine Funktionalität). Ich denke, das Wort wurde gewählt, nicht-Aufdringlichkeit implizieren, und auch etwas optional.

Ein Dekorateur „ziert“ eine Schnittstelle durch das Hinzufügen zusätzlicher Funktionalität zu bestehenden Methoden, aber nicht eigentlich keine eigenen hinzufügen. Die Dekoration ist auf die Basis-Funktionalität nicht wesentlich; sonst wäre es in der Basisklasse gebaut worden sind.

Da Sie das Hinzufügen neuer Funktionalität zu einem bestehenden Objekt. Im Wesentlichen Sie „schmücken“ das Objekt mit der neuen Funktionalität.

Hey, lassen Sie es zu Geeks Namen zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top