Entwurfsmuster (Design Patterns)
Lernfokus
AP2 Anwendungsentwicklung: die prüfungsrelevanten Entwurfsmuster erkennen, erklären und dem richtigen Problem zuordnen.
- Zweck von Entwurfsmustern erklären.
- Singleton, Factory und Observer unterscheiden.
- MVC-Schichten und ihre Aufgaben zuordnen.
Was sind Entwurfsmuster?
Entwurfsmuster sind bewährte, wiederverwendbare Lösungsschablonen für häufige Probleme im Software-Design. Sie sind kein fertiger Code, sondern beschreiben eine Struktur aus Klassen und deren Zusammenspiel. In der AP2 wird typischerweise verlangt, ein Muster zu benennen, seinen Zweck zu erklären oder es in einem UML-Diagramm wiederzuerkennen.
Merksatz: Ein Entwurfsmuster ist eine Schablone für ein Entwurfsproblem – nicht der Code selbst.
Singleton
Stellt sicher, dass von einer Klasse genau eine Instanz existiert, und bietet einen globalen Zugriffspunkt darauf. Typische Einsätze: Konfiguration, Logger, Verbindungs-Pools.
- Privater Konstruktor: verhindert Instanziierung von außen.
- Statische Zugriffsmethode (z. B.
getInstance()) liefert immer dieselbe Instanz. - Kritik: globaler Zustand erschwert Tests – in der Prüfung als Nachteil nennen können.
Factory (Fabrikmethode)
Kapselt die Objekterzeugung: Der aufrufende Code kennt nur das Interface, die Fabrik entscheidet, welche konkrete Klasse instanziiert wird. So lassen sich neue Varianten ergänzen, ohne den Client-Code zu ändern (Offen-Geschlossen-Prinzip).
- Problem:
new KonkreteKlasse()überall verstreut macht Änderungen teuer. - Lösung: zentrale Erzeugungsmethode, die das passende Objekt liefert.
Observer (Beobachter)
Ein Subjekt hält eine Liste von Beobachtern und benachrichtigt sie automatisch bei Zustandsänderungen (1:n-Abhängigkeit). Grundlage vieler GUI- und Event-Systeme.
- Subjekt:
anmelden(),abmelden(),benachrichtigen(). - Beobachter: gemeinsames Interface mit
aktualisiere(). - Vorteil: lose Kopplung – das Subjekt kennt nur das Interface.
Merksatz: Observer = abonnieren und benachrichtigt werden, statt ständig nachzufragen (Polling).
MVC (Model-View-Controller)
Architektur-Muster, das eine Anwendung in drei Verantwortlichkeiten trennt. In der AP2 häufig als Zuordnungsaufgabe gefragt.
- Model: Daten und Geschäftslogik – unabhängig von der Darstellung.
- View: Präsentation der Daten für den Benutzer.
- Controller: nimmt Eingaben entgegen, ruft das Model auf, wählt die View.
Vorteile: getrennte Zuständigkeiten, parallele Entwicklung, bessere Testbarkeit, austauschbare Oberflächen.
Prüfungsmodus
Dieser ProtocolCheck führt dich durch die wichtigsten AP2-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.
Kategorie
Entwurfsmuster
AP2-Training