Entwurfsmuster (englisch Design Patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme in der Softwareentwicklung. Statt das Rad jedes Mal neu zu erfinden, greifen Entwickler auf erprobte Muster zurück, die sich in der Praxis über Jahrzehnte bewährt haben.

Die Gang of Four

Populär wurden Entwurfsmuster durch das Buch Design Patterns: Elements of Reusable Object-Oriented Software (1994) der vier Autoren Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides – bekannt als Gang of Four (GoF). Das Buch beschreibt 23 Muster, eingeteilt in drei Kategorien:

  • Erzeugungsmuster (Creational Patterns): kapseln die Objekterzeugung, etwa Singleton, Factory oder Builder
  • Strukturmuster (Structural Patterns): setzen Klassen und Objekte zu größeren Strukturen zusammen, etwa Adapter, Decorator oder Composite
  • Verhaltensmuster (Behavioral Patterns): regeln die Kommunikation und Verantwortlichkeiten zwischen Objekten, etwa Observer, Strategy oder Command

Warum Muster verwenden?

Ein Muster nennt das Problem, die Lösung und die Konsequenzen – dadurch verbessern sich Kommunikation im Team (gemeinsame Vokabeln), Wartbarkeit und Qualität der Architektur. Muster sind keine fertigen Codebausteine zum Kopieren, sondern Vorlagen, die an den eigenen Kontext angepasst werden.

Kein Selbstzweck

Der berühmte Satz „Erst optimieren, wenn es nötig ist“ gilt auch hier: Ein Muster anzuwenden, wo ein einfacher Aufbau genügt, erzeugt unnötige Komplexität. Gute Entwickler kennen die Muster, wenden sie aber gezielt und sparsam an.

Verwandte Grundlagen: Objektorientierung, Klasse, Interface, Refactoring, UML, MVC, Code Review.