Skip to main content
main-content

Über dieses Buch

Dieses Buch führt Sie in die wichtigsten Entwurfsprinzipien und Konzepte der Softwaretechnik ein

Entwurfsprinzipien, auch Design Patterns, sind bewährte, einfache und klare Denkkonzepte des Software Engineering, welche Entwicklern helfen, hochwertige Softwaresysteme zu konstruieren. Sie greifen in die Konstruktion eines Systems ein und betreffen die für den Entwickler sichtbare Qualität des Quellcodes. Qualitätsziele für den Entwurf sind beispielsweise:

· das Vermeiden unerwünschter Kopplungen von Softwareteilen

· die Einfachheit und Verständlichkeit

· die Testbarkeit

· die Stabilität bei Programmerweiterungen

Dieses Buch führt Sie in die Grundlagen der Softwaretechnik ein und stellt Ihnen die wichtigsten Entwurfsprinzipien und Konstruktionskonzepte vor.

Es gibt keine allgemein anerkannten Kataloge von Entwurfsprinzipien für die Softwareentwicklung. Daher enthält dieses Buch eine Auswahl von praxisrelevanten Entwurfsprinzipien und Konzepten, die zudem in der Clean-Code-Bewegung eine große Rolle spielen. Das Buch eignet sich nicht nur für die tägliche Arbeit in Bereich der Softwaretechnik, sondern auch als Lehrbuch für Studierende der Informatik.

Die folgenden Inhalte behandelt der Autor

In seinem Buch beschäftigt sich Joachim Goll unter anderem mit den folgenden Thematiken:

· Das Konzept der Software-Module

· Unerwünschte Abhängigkeiten und deren Abschwächung in Programmen

· Erzeugung einer modularen Struktur in Programmen

· Reduktion der Komplexität von Programmen

· Konstruktion schwach gekoppelter Teilsysteme

· Korrektheit von polymorphen Programmen

· Stabilität von Programmen und Erweiterbarkeit bei Programmänderungen

· Inversion of Control

Inhaltsverzeichnis

Frontmatter

Kapitel 1. Software-Module

Zusammenfassung
Kapitel 1.1 befasst sich mit der Zerlegung eines physisch vorhandenen Systems in seine Teile, die als Module bezeichnet werden. Kapitel 1.2 erörtert die verschiedenen Konzepte zur Konstruktion von Modulen. Die Vorteile der Aufteilung eines Systems in Module werden in Kapitel 1.3 betrachtet.
Joachim Goll

Kapitel 2. Abhängigkeiten

Zusammenfassung
Dieses Kapitel stellt keine Entwurfsprinzipien vor, sondern es betrachtet die Entstehung und Abschwächung von Abhängigkeiten.
Joachim Goll

Kapitel 3. Entwurfsprinzipien zur modularen Struktur von Systemen

Zusammenfassung
Die Prinzipien dieses Kapitels betrachten ganze Systeme und dienen dazu, komplexe Systeme beherrschbar zu machen.
Joachim Goll

Kapitel 4. Entwurfsprinzipien zur Reduktion der Komplexität

Zusammenfassung
Die Prinzipien “Keep it simple, stupid” (KISS), “You aren’t gonna need it” (YAGNI) und “Don’t Repeat Yourself” (DRY) einzuhalten, bedeutet, gewisse Dinge zu vermeiden und dabei die Zahl der Bauteile eines Systems zu verringern. Das Prinzip “Single Level of Abstraction” (SLA) will nicht die Zahl der Bauteile eines Systems beschränken, sondern bezieht sich auf die Ordnung des Quellcodes durch Methoden, um die Komplexität des Quellcodes zu verringern und damit die Verständlichkeit zu erhöhen. Alle Anweisungen einer Methode sollen dasselbe Abstraktionsniveau aufweisen.
Joachim Goll

Kapitel 5. Entwurfsprinzipien und Konzepte für schwach gekoppelte Teilsysteme

Zusammenfassung
Abhängigkeiten stellen das größte Problem in der Softwareentwicklung dar. Abhängigkeiten zu vermeiden, ist daher für die Entwickler eine große Herausforderung.
Joachim Goll

Kapitel 6. Entwurfsprinzipien und Konzepte für korrekte Programme

Zusammenfassung
Dass Software korrekt – also ohne Fehler – konstruiert wird, ist die Pflicht der Entwickler.
Joachim Goll

Kapitel 7. Prinzipien für die Stabilität und Erweiterbarkeit bei Programmänderungen

Zusammenfassung
Alle Prinzipien, die für eine schwache Wechselwirkung zwischen verschiedenen Modulen und eine starke Kohäsion innerhalb eines Moduls sorgen, tragen zur Stabilität bei. Denn damit bleiben Störungen durch Fehler oder Fehleingaben im Betrieb des Systems oftmals lokal begrenzt. Dementsprechend kann unter Stabilität jedes Entwurfsprinzip genannt werden, welches für eine schwache Kopplung der Module und eine starke Kohäsion innerhalb eines Moduls sorgt. In diesem Kapitel geht es bei der Stabilität jedoch nicht allgemein um die Stabilität, sondern speziell um die Stabilität bei Änderungen. Hierbei sollen nach dem "Open-Closed Principle" (siehe Kapitel 7.1) stabile "Fertigteile" verwendet werden. Das "Open-Closed Principle" sorgt für Stabilität bei Änderungen, da beispielsweise nach diesem Prinzip getesteter Code einfach um zusätzliche Funktionalität erweitert, aber selbst nicht abgeändert werden soll.
Joachim Goll

Kapitel 8. Das Konzept “Inversion of Control”

Zusammenfassung
Bei diesem Konzept wird die Kontrolle des Programmablaufs zwischen zwei zusammenwirkenden Programmteilen vertauscht, beispielsweise dann, wenn ein selbst programmiertes Modul die Steuerung des Kontrollflusses an ein Framework als wiederverwendbares Modul abgeben soll.
Joachim Goll

Kapitel 9. Übersicht über die vorgestellten Entwurfsprinzipien und Konzepte

Zusammenfassung
In diesem Kapitel werden die behandelten Entwurfsprinzipien und Konzepte gemäß der Gliederung dieses Buchs vorgestellt.
Joachim Goll

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise