Question | Answer |
Entwurfsmuster Definition | Erprobte Lösungsansätze für Wiederkehrende Fragestellungen Vom Einzelfall abstrahieren Unveränderliche Teile einer strukturierten Lösung berücksichtigen |
Welche Arten von Entwurfsmustern gibt es? | Erzeugungsmuster Strukurmuster Verhaltensmuster |
Erzeugungsmuster | Dienen der Erzeugung von Objekten. Sie entkoppeln die Konstruktion eines Objekts von seiner Repräsentation. Die Objekterzeugung wird gekapselt und ausgelagert, um den Kontext der Objekterzeugung unabhängig von der konkreten Implementierung zu halten. |
Strukurmuster | Erleichtern den Entwurf von Software durch vorgefertigte Schablonen für Beziehungen zwischen Klassen. |
Verhaltensmuster | Modellieren komplexes Verhalten der Software und erhöhen damit die Flexibilität der Software hinsichtlich ihres Verhaltens. |
Strategiemuster | Definiert eine Familie von Algorithmen, kapselt die einzelnen Algorithmen und macht sie untereinander austauschbar Verhaltensmuster |
Dekorierermuster | Ermöglicht das dynamische Hinzufügen zusätzlicher Funktionalität zu einer Komponente Strukturmuster |
Abstrakte Fabrik Muster | Bereitstellung einer Schnittstelle zum Erzeugen von Objekten einer Familie verwandter oder voneinander abhängiger Objekte ohne bereits die konkreten Klassen zu spezifizieren Erzeugungsmuster |
Beobachter (Observer) | Pub SUB!!!!!!!!!!!!!! Registrierung bei einem Subjekt anschließender Erhalt von Änderungsmitteilungen Beispiel: Teilnahme an einer Mailingliste. Nur registrierte Emailadressen erhalten neue Emails(Updates) der Liste.(Mailingliste(Subjekt) + Emailadresse(Beobachter) = Observer-Muster) Beispiel(häufig bei Gui Aktualisierung): Datenmodell und Fenster. Beim Öffnen registriert sich das Fenster am Datenmodell. Da es registriert ist, wird es über Änderungen der Daten informiert und zeigt diese an. (Datenmodell(Subjekt) + Fenster(Beobachter) = Observer-Muster Verhaltensmuster |
Memento | Das Muster dient der Erfassung und Externalisierung des internen Zustands eines Objektes, wobei sichergestellt wird, dass dadurch seine Kapselung nicht verletzt wird. So kann das Objekt zu einem späteren Zeitpunkt wieder in diesen Zustand zurückversetzt werden Bei Undo Implementierungen Temporäre Zustände können wiederhergestellt werden Verhaltensmuster |
Befehl (Command) | objektbasiertes Entwurfsmuster Das Befehlsmuster soll die Details eines Befehls vor dem Aufrufer des Befehls verbergen. Es soll es erlauben, dass die Erzeugungszeit und die Ausführungszeit des Befehls getrennt werden können. Ein konkreter Befehl entspricht einem Methodenaufruf oder einer Folge von Methodenaufrufen auf einem Empfängerobjekt. Ein konkreter Befehl selbst wird zusammen mit der Referenz auf das Empfängerobjekt in einem auf dem Interface IBefehl basierenden Objekt gekapselt und wird einem Aufrufer übergeben. Der Aufrufer hängt so nicht von den Details des Befehls ab, sondern nur vom Interface IBefehl. Verhaltensmuster |
Kompositum | Das Kompositionsmuster (composite pattern) wird angewendet, um Teil-Ganzes-Hierarchien zu repräsentieren, indem Objekte zu Baumstrukturen zusammengefügt werden.[1] Die Grundidee des Kompositionsmusters ist, in einer abstrakten Klasse sowohl primitive Objekte als auch ihre Behälter zu repräsentieren. Somit können sowohl einzelne Objekte als auch ihre Kompositionen einheitlich behandelt werden. Häufig bei GUI Anwendung Ellipse ellipse1, ellipse2, ellipse3, ellipse4; GrafikKompositum grafik1, grafik2, grafikGesamt; grafik1.add(&ellipse1); grafik1.add(&ellipse2); grafik1.add(&ellipse3); grafik2.add(&ellipse4); grafikGesamt.add(&grafik1); grafikGesamt.add(&grafik2); grafikGesamt.print(); Strukturmuster |
Iterator | Das Iterator-Muster soll es erlauben, eine Datenstruktur in verschiedenen Durchlaufstrategien zu durchlaufen, ohne dass der Client den Aufbau der Datenstruktur kennt. Ein Iterator als Objekt trennt den Mechanismus des Traversierens65 von der zu durchquerenden Datenstruktur. Diese Trennung ist der grundlegende Gedanke des Iterator-Musters. Denn dadurch braucht eine Anwendung den Aufbau einer Datenstruktur selbst nicht zu kennen 65: Mit Traversieren bezeichnet man das Durchlaufen einer Datenstruktur in einer bestimmten Reihenfolge. Verhaltensmuster |
Besucher (Visitor) | Die Integration verschiedener nicht miteinander verwandter Operationen in die Klassen einer Objektstruktur gestaltet sich oft schwierig. Bei der Erweiterung um neue Operationen müssen alle Klassen erweitert werden. Der Besucher lagert die Operationen in externe Besucherklassen aus. Dazu müssen die zu besuchenden Klassen jedoch eine Schnittstelle zum Empfang eines Besuchers definieren. |
Was sind die Bestandteile von Entwurfsmustern? | Kontext, Problem und Einflussfaktoren, Lösung, Konsequenzen, Angemessenheit zwischen Kontext und Form, Beschreibungsformate, Namensgebung |
Was sind Vorteile des Musteransatzes? | Vorteile: beschreiben erprobte Lösungen Lösungen sind begründet flexiblere Designs reduzierte Komplexität |
Was sind Nachteile des Musteransatzes? | Nachteile: Probleme tauchen auf, wenn Entwurfsmuster zu starr interpretiert, falsch umgesetzt oder für den falschen Zweck eingesetzt werden “gute” Lösung ist subjektiv nicht jedes Muster ist (ausreichend) erprobt keine Pauschallösung, man sollte auch selbst nachdenken und entscheiden was gut ist |
Want to create your own Flashcards for free with GoConqr? Learn more.