Besser Programmieren mit OO-Prinzipien und Entwurfsmustern

I will not write any more bad code

Der Entwicklungsprozess einer Software lässt sich sehr gut mit einem Hausbau vergleichen. In der Anfangsphase sitzt man über den Zeichnungen und Bauplänen, nachdem alle Genehmigungen eingeholt wurden, wird das Haus Stein für Stein hochgezogen und ausgebaut, dann letztendlich kommt es zur Schlüsselübergabe und die neuen Besitzer können einziehen. Doch nach einiger Zeit drückt das Grundwasser hoch, der Keller wird feucht, an den Wänden zeigen sich die ersten Risse. Klare Hinweise dafür, dass die Handwerker nicht mit der nötigen Sorgfalt gearbeitet haben. Auf die Besitzer kommen Ärger und weitere Kosten zu, die sie sich eigentlich gerne erspart hätten.

In der Softwareentwicklung ist es ähnlich. Es passiert nicht selten, dass nach der Fertigstellung, und zuweilen auch während der Entwicklungsphase eines Projektes, Mängel und Probleme sichtbar werden. Der bestehende Code muss vielleicht geändert werden um eine neue Funktionalität zu implementieren und führt u.U. zu un­vor­her­ge­se­hen Fehlern. Die Folge: die Produktions- und/oder Wartungskosten steigen, das Projekt verzögert sich und die Entwickler geraten in Stress. Diese Symptomatik ist wiederkehrend.

Aber woran liegt das? Liegt es daran, dass die Entwickler nicht programmieren können? Nein, das ist nicht das Problem. Ein Haus wird ja auch nicht nur das Stapeln von Ziegeln erbaut. Es ist eine Menge von unterschiedlichen Techniken nötig, damit ein Haus sicher und stabil wird, und lange Zeit bewohnbar bleibt. Beim Programmieren ist es genauso. Selbstverständlich lassen sich bei komplexen Systemen Fehler nicht immer vermeiden. Aber sie lassen sich durch bestimmte Techniken auf das Mindestmaß reduzieren, ersparen eine Menge an Kosten, Problemen und Stress.

Diese Techniken bestehen aus einer Reihe von unterschiedlichen Prinzipien des objektorientierten Designs (OOD) und Entwurfsmustern (Design Patterns). Sie helfen dabei Software zu entwickeln, die flexibel, robust und wiederverwendbar ist. Sie zu kennen ist für einen Entwickler unerlässlich. In zwei Artikelserien möchte ich einige dieser Prinzipien und Entwurfsmuster zeigen.

In der ersten Artikelserie werde ich auf die SOLID-Prinzipien eingehen. Diese bestehen aus den folgenden 5 Prinzipien:

Die zweite Artikelserie wird sich mit verschiedenen Entwurfsmustern der Gang of Four (GoF, Viererbande) beschäftigen. Dabei werden Muster aus den folgenden Bereichen besprochen:

Die Artikel werden neben einer Definition, eine kurze Beschreibung und konkrete Beispiele enthalten, wie eine Implementierung aussehen kann. Es wird sehr schnell klar wie nützlich die Prinzipien und Entwurfsmuster sind und zeigen womöglich Sachverhalte auf, an die man nicht gedacht hat. Die Artikel sollen als eine Anregung dazu dienen, sich mit den Techniken des objektorientierten Designs gründlicher zu beschäftigen. Das gelernte konsequent zu verwenden, hilft nicht nur bessere Software zu entwickeln, es erspart einem auch so manches Problem und einiges an Stress.

Literatur

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.