SA8
...
...
10
0.0 (0)
L. H.
L. H.
Diese Lernkarten bieten einen Überblick über verschiedene Design Patterns im Software-Engineering, insbesondere im Bereich der objektorientierten Programmierung. Sie behandeln Creational, Structural und Behavioral Patterns wie das Command Pattern, Observer Pattern und Singleton Pattern, die zur Lösung häufiger Probleme wie Entkopplung, Instanziierung und Statusänderungen dienen. Die Karteikarten sind ideal für Entwickler, die ihre Kenntnisse in Software-Design vertiefen und bewährte Lösungsvorlagen für komplexe Probleme anwenden möchten.
Cartes-fiches
10
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Autres
Créé / Mis à jour
16.07.2016 / 16.07.2016
-
- 1 / 10
-
Cartes-fiches
Was ist ein Design Pattern im Software-Engineering?
- wiederverwendbare Gesamtlösung für häufig auftretende Probleme
- erfassen und beschreiben bewährte Design-Ideen
- in strukturierte und abstrakten Weise
- Beschreibung/Vorlage, keine fertige Lösung
Nennen Sie 3 Eigenschaften von Designpatterns
- wiederverwendbar
- strukturiert und abstrakt beschrieben
- keine fertige Lösung, sondern Beschreibung/Vorlage wie das Problem zu lösen ist
Wozu dient ein State Pattern und zeigen Sie den Aufbau exemplarisch?
- Erlaubt einem Objekt sein Verhalten zu ändern, wenn sich der interne Status ändert
—> Zustandsübergänge können flexibel, austauschbar und erweiterbar implementiert werden
Beschreiben sie kurz das Observer Pattern und für welche Szenarien es eingesetzt werden kann
- zur Definition einer 1:n Abhängigkeit zwischen Objekten
- wenn ein Objekt seinen Status ändert, werden Abhängigen Objekte automatisch informiert
—> um Abhängigkeiten zwischen Schichten umzukehren
—> zur Entkopplung ?!
Für was wird das Singleton Pattern verwendet?
- Entwurfsmuster, um die Instanziierung einer Klasse auf ein Objekt zu beschränken
—> wenn genau ein Objekt benötigt wird, um Aktionen in einem System zu koordinieren
—> um ein Objekt von einer Klasse zu erstellen, da GetInstance statisch ist
Was macht ein Decorator Pattern?
- Fügt zusätzliches Verhalten/Aufgaben dynamisch zu einem Objekt hinzu
—> Wrappt ein Objekt in einem sogenannten Decoder
Nennen Sie 5 Creational Patterns und beschreiben Sie zwei
- Abstract Factory
- Builder
- Prototype
- Factory Method
- erzeugt ein Objekt ohne die Instanziierungslogik zu kennen
- gibt die erstellte Instanz über ein Interface zurück
- Singelton
- beschränkt die Instanziierung einer Klasse auf ein einzelnes Objekt, das immer wieder verwendet wird
Nennen und beschreiben Sie 3 Behavioral Patterns
- Observer
- zur Definition einer 1:n Abhängigkeit zwischen Objekten
- wenn ein Objekt seinen Status ändert, werden Abhängigen Objekte automatisch informiert
- Command
- Entkopplung von Schnittstelle & Implementierung
- Befehle oder Interaktionen werden als Objekt gekapselt
- Strategy
- Sammlung von bspw. Algorithmen, die gekapselt & austauschbar sind
- Strategie lässt die Algorithmen je nach Anwendungsfall variieren
Nennen Sie zwei Patterns und beschreiben Sie mit ein bis zwei Sätzen deren Einsatzzweck
- Singelton-Pattern
- beschränkt die Instanziierung einer Klasse auf ein einzelnes Objekt, das immer wieder verwendet wird
- Observer-Pattern:
- zur Definition einer 1:n Abhängigkeit zwischen Objekten,
- wenn ein Objekt seinen Status ändert, werden Abhängigen Objekte automatisch informiert
—> zur Entkopplung ?!
Welches Problem löst das Command Pattern? Welche Vorteile bietet seine Anwendung? Nenne Anwendungsfälle und erläutere diese anhand eines Klassendiagramms
- Problem: z.B anbieten eines UI Toolkits mit Buttons; nicht möglich von Anfang an zu definieren welcher Button welche Funktion auslöst; Schnittstelle muss definiert werden
- Aufrufende kennt nur ein Objekt vom Typ Command & ruft dort die ausführende Methode auf
- Entkoppelt Schnittstelle & Implementierung
- Implementierung ist gekapselt
- Anwendungsfälle: Undo, Logging, Queueing