#Code

Software design patterns

[Design patterns] sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme [...] in der Softwarearchitektur und -entwicklung

- Wikipedia

Auf den ersten Blick scheinen viele Design pattern überkomlizierte und überdachte Lösungen für scheinbar simple Probleme zu sein. Warum sollten wir sie verwenden? Wir sind Softwareentwickler, weil wir Probleme lösen wollen, nicht weil wir die Lösungen Anderer nutzen wollen.

Design patterns...

  • ... brauchen Zeit um gelernt zu werden.
  • ... brauchen Zeit in der Implementierung.
  • ... können die initiale Entwicklungszeit verlängern.
  • ... sind komplexer als die naive Lösung.
  • ... sind wie ein Witz zwischen alten Freunden – jeder muss sie kennen, damit sie nützlich sind.

Warum sollten wir sie also lernen und verwenden? Die Antwort auf diese Frage ist simpel – so simpel, dass sie oft nicht erwähnt wird:

Design patterns statten uns als Entwickler mit einem geteilten Vokabular für Architekturentscheidungen in unseren Applikationen aus. Es gibt z.B. keinen Grund jedes mal ‘inversion of control’ zu Erklären, wenn das Design einer Applikation besprochen wird. Design patterns erlauben uns somit mehr Fokus auf die Architektur zu legen, ohne in Implementierungsdetails aufgehalten zu werden.

Designpattern sind...

  • ... gut durchdachte ...
  • ... solide ...
  • ... erprobte ...
  • ... gut kommunizierbare ...
  • ... Qualitätsfördernde ...

... Lösungen für unsere Architekturprobleme.

Der Start einer Serie

Dieser kurze Artikel markiert den Anfang einer kleinen Serie von Artikeln, die verschiedene Design patterns vorstellt. Diese Serie basiert zu großen Teilen auf dem Buch “Head first design patterns” (ISBN 978-0596007126).