Skip to content
IRC-Coding IRC-Coding
Design Patterns Singleton Factory Observer Adapter Strategy

Design Patterns (Entwurfsmuster) einfach erklärt: GoF-Kategorien & Prüfungsfragen

Design Patterns: Erzeugungs-, Struktur- und Verhaltensmuster (Singleton, Factory, Observer, Adapter, Strategy). Nutzen, Beispiele und Prüfungsfragen.

S

schutzgeist

2 min read

Softwarearchitektur: Design Patterns

Dieser Beitrag ist eine Begriffserklärung zu Design Patterns – inklusive Prüfungsfragen, Kernkomponenten und Tags.

In a Nutshell

Design Patterns (Entwurfsmuster) sind wiederverwendbare Lösungsansätze für häufige Probleme in der objektorientierten Softwareentwicklung. Sie verbessern Struktur, Wartbarkeit und Kommunikation.

Kompakte Fachbeschreibung

GoF-Patterns werden oft in drei Kategorien eingeteilt:

  • Erzeugungsmuster (z.B. Singleton, Factory)
  • Strukturmuster (z.B. Adapter, Fassade, Proxy)
  • Verhaltensmuster (z.B. Observer, Strategy, Command)

Patterns sind keine fertigen Klassen, sondern Konzepte, die sich in vielen Sprachen umsetzen lassen. Sie schaffen ein gemeinsames Vokabular im Team.

Prüfungsrelevante Stichpunkte

  • Kategorien: Erzeugung, Struktur, Verhalten
  • Wiederverwendbare Lösungen
  • Entkopplung und Erweiterbarkeit
  • Praxisrelevant (Java, C#, Python)
  • Security: z.B. Singleton für zentrale Zugriffskontrolle
  • Wirtschaftlichkeit: weniger Entwicklungszeit
  • Doku: Musterwahl + Diagramme

Kernkomponenten (Beispiele)

  1. Singleton
  2. Factory Method
  3. Observer
  4. Adapter
  5. Strategy
  6. Decorator
  7. Proxy
  8. Command
  9. Fassade
  10. Builder

Praxisbeispiel (Singleton in Python)

class Logger:
  _instance = None
  def __new__(cls):
    if cls._instance is None:
      cls._instance = super().__new__(cls)
    return cls._instance

Vorteile und Nachteile

Vorteile

  • Bewährte Lösungsansätze
  • Einheitliche Sprache im Team
  • Entkopplung
  • Wartbarkeit

Nachteile

  • Falscher Einsatz erzeugt Komplexität
  • Overengineering bei kleinen Problemen

Typische Prüfungsfragen (mit Kurzantwort)

  1. Was ist ein Design Pattern? Bewährte Lösungsvorlage für ein wiederkehrendes Entwurfsproblem.
  2. Welche Kategorien gibt es? Erzeugungs-, Struktur- und Verhaltensmuster.
  3. Was macht Singleton aus? Genau eine Instanz pro Anwendungskontext.
  4. Wann nutzt man Observer? Wenn mehrere Objekte auf Änderungen reagieren sollen.

Freie Antwort

Patterns sind sinnvoll, wenn sie ein konkretes Problem lösen. In Projektdokus kannst du sie nutzen, um strukturiertes Design zu zeigen – aber nicht „Patternitis“ betreiben.

Lernstrategie

  1. 3–5 Muster lernen + Rollen verstehen.
  2. 2 Muster selbst implementieren.
  3. In 5 Zeilen Einsatz/Nutzen erklären üben.
  4. Muster nur bei echtem Bedarf einsetzen.

Themenanalyse

  • Kern: Entwurfsmuster
  • Herausforderungen: Rollen/Overhead
  • Sicherheit: Zugriffskontrolle
  • Doku: Musterbegründung
  • Wirtschaftlichkeit: Wiederverwendung

Weiterführende Infos

  1. https://refactoring.guru/de/design-patterns
  2. https://sourcemaking.com/design_patterns
Zurück zum Blog
Share:

Ähnliche Beiträge