Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Grundlagen der Programmierung: Objektorientiertes Design

Memento-Pattern

Testen Sie unsere 2018 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Das Memento-Pattern dient dazu, einen früheren Zustand eines Objekts wiederherzustellen. Damit können zuvor durchgeführte Änderungen rückgängig gemacht werden.

Transkript

Jetzt möchte ich Ihnen das Memento Design Pattern vorstellen. Das ist sowas wie das Strg-Z für Objekte. Das heißt, wir können den Zustand eines Objektes speichern, dann können wir das Objekt verändern und später den ursprünglichen Zustand wieder herstellen. Das Besondere daran ist auch, das Prinzip der Kapselung wird nicht verletzt. Kapselung heißt ja in etwa so viel wie, dass alle Informationen an einem Ort zusammen gekapselt werden. Schauen wir es uns mal in der Skizze an. Zunächst einmal habe ich ein eigenes Objekt, der Originator, zu Deutsch so viel wie Urheber oder sowas. Das ist das Objekt, um das es geht. Den Zustand dieses Objektes, den möchten wir immer wiederherstellen können. Wir brauchen ein zweites Objekt dazu. Das ist so viel wie der Aufpasser oder die Nanny, aber der schönere Begriff ist eigentlich der Caretaker. Dieser Caretaker sorgt dafür, dass die unterschiedlichen Zustände des Originators beachtet werden und später wiederhergestellt werden können. Wie macht er das? Zunächst einmal sagt er an einem bestimmten Punkt, hey, bitte speichere Deinen Zustand, lieber Originator. Der Originator nimmt dann diesen Originalzustand, also alle wichtigen Attribute, und packt die quasi zusammen und die werden dann in einem Memento Objekt zusammengefasst. Und in diesem Memento, jetzt innerhalb des Originators, da ist dieser Zustand gespeichert und dann wird dieses Memento herausgegeben an den Caretaker und der passt jetzt drauf auf. Das heißt, wir können mit dem Originator weiter arbeiten und der ursprüngliche Zustand, der ist außerhalb im Caretaker gespeichert. Das heißt, wir können jetzt den Zustand ändern. Der Originator arbeitet, die Attribute werden verändert usw. und irgendwann kommt der Moment, an dem ich den alten Zustand wieder herstellen möchte. Das heißt, ich sage vom Caretaker aus an den Originator, bitte stelle den ursprüngliche Zustand wieder her. Also Sie können sich schon denken, was dann passiert. Der Caretaker kopiert dieses Memento Objekt und gibt es quasi zurück an den Originator und wir haben den ursprünglichen Zustand wieder hergestellt, nachdem der Originator natürlich dieses Memento Objekt dann wieder ausgepackt hat und eingebaut hat. Sie denken Sie jetzt vielleicht, hmmm, das hätte ich mir doch auch irgendwie selber ausdenken können. Das hätte ich dann selber gemacht. Ja, da sind Sie eigentlich genau auf dem richtigen Weg, zu verstehen, was eigentlich Entwurfsmuster oder Design Patterns sind. Da haben sich viele Programmiererinnen und Programmierer Gedanken gemacht und viele sind dann auf ähnliche Lösungen gekommen und irgendwann hat sich mal einer hingesetzt und hat gesagt, Mensch, ich möchte da mal das zum Prinzip erheben, denn das ist so ein gutes und wundervolles Prinzip, um ein Problem zu lösen, dass ich das auch mit anderen teilen möchte. Und so ist es eben zu diesen Entwurfsmustern oder eben Design Patterns überhaupt gekommen.

Grundlagen der Programmierung: Objektorientiertes Design

Lernen Sie alle Grundbegriffe und Methoden von objektorientiertem Design kennen und holen Sie sich das Rüstzeug, um bald Ihre eigene Softwareprojekte zu starten.

2 Std. 43 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!