Skip to main content
main-content

Über dieses Buch

Dieses Buch beschreibt klar strukturiert und anhand zahlreicher Beispiele die wichtigsten Entwurfsprinzipien für Software.
Entwurfsprinzipien sind bewährte, einfache und klare Denkkonzepte des Software Engineering, die Entwicklern helfen, Softwaresysteme zu konstruieren. Entwurfsprinzipien greifen in die Konstruktion eines Systems ein und betreffen die für den Entwickler sichtbare Qualität des Codes eines Programms. Dabei sind Qualitätsziele für den Entwurf beispielsweise die Entkopplung von Softwareteilen, Einfachheit und Verständlichkeit, Testbarkeit oder Stabilität bei Programmerweiterungen.
Es gibt keine allgemein anerkannten Kataloge von Entwurfsprinzipien. Daher enthält dieses Buch eine Auswahl aus der Praxis, die zudem in der Clean-Code-Bewegung eine große Rolle spielt. Das Buch eignet sich nicht nur für die Praxis, sondern auch als Lehrbuch für Studierende der Informatik.

Inhaltsverzeichnis

Frontmatter

Kapitel 1. Software-Module

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

Dieses Kapitel stellt keine Entwurfsprinzipien vor, sondern es betrachtet die Entstehung und Abschwächung von Abhängigkeiten. Die Abschwächung von Abhängigkeiten ist das Ziel der meisten Entwurfsprinzipien, damit eine Programmänderung weniger Folgeänderungen nach sich zieht.

Joachim Goll

Kapitel 3. Entwurfsprinzipien zur Vermeidung von Überflüssigem

Die Prinzipien “Keep it simple, stupid” (KISS), “You aren’t gonna need it” (YAGNI) und “Don’t Repeat Yourself” (DRY) einzuhalten, bedeutet, gewisse Dinge nicht zu tun.

Joachim Goll

Kapitel 4. Entwurfsprinzipien für die Konstruktion schwach gekoppelter Teilsysteme

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 5. Entwurfsprinzipien für korrekte Programme

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

Joachim Goll

Kapitel 6. Entwurfsprinzipien für die Stabilität bei Programmerweiterungen

Dementsprechend könnte unter Stabilität jedes Entwurfsprinzip genannt werden, welches für eine schwache Kopplung der Module und eine starke Kohäsion innerhalb eines Moduls sorgt.

Joachim Goll

Kapitel 7. Das Konzept “Inversion of Control”

“Inversion of Control” dient – wie der Name schon sagt – der Umkehr der Kontrolle. Bei diesem Konzept wird die Kontrolle des Programmablaufs zwischen zwei zusammenwirkenden Programmteilen umgedreht, beispielsweise dann, wenn ein selbst programmiertes Modul die Steuerung des Kontrollflusses an ein Framework als wiederverwendbares Modul abgeben soll.

Joachim Goll

Kapitel 8. Entwurfsprinzipien nahe am Code

Das Prinzip “Programmiere gegen Schnittstellen, nicht gegen Implementierungen” von Gamma et al. [Gam94] ist ein Prinzip der Objektorientierung und stellt die Erweiterbarkeit der Programme in den Vordergrund (siehe Kapitel 8.1). Dieses Prinzip stammt aus dem Jahre 1994.

Joachim Goll

Kapitel 9. Entwurfsprinzipien auf Systemebene

Diese Prinzipien betrachten ganze Systeme und dienen dazu, komplexe Systeme beherrschbar zu machen.

Joachim Goll

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

Kapitel 10.1 klassifiziert die in diesem Buch beschriebenen Prinzipien bzw. Konzepte nach ihrer Bedeutung für die Architektur.

Joachim Goll

Backmatter

Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.

Whitepaper

- ANZEIGE -

Product Lifecycle Management im Konzernumfeld – Herausforderungen, Lösungsansätze und Handlungsempfehlungen

Für produzierende Unternehmen hat sich Product Lifecycle Management in den letzten Jahrzehnten in wachsendem Maße zu einem strategisch wichtigen Ansatz entwickelt. Forciert durch steigende Effektivitäts- und Effizienzanforderungen stellen viele Unternehmen ihre Product Lifecycle Management-Prozesse und -Informationssysteme auf den Prüfstand. Der vorliegende Beitrag beschreibt entlang eines etablierten Analyseframeworks Herausforderungen und Lösungsansätze im Product Lifecycle Management im Konzernumfeld.
Jetzt gratis downloaden!

Bildnachweise