Skip to main content
main-content

Über dieses Buch

Patterns kompakt fasst die wichtigsten Entwurfsmuster zusammen, die Sie für Softwareentwicklung benötigen. Softwareentwickler und -architekten finden darin effektiv anwendbare Lösungen für tägliche Entwurfsprobleme.
Das Buch gliedert Patterns anhand typischer Aspekte des Softwareentwurfs: - Basismuster für mehr Flexibilität und Wartbarkeit- Präsentation- Kommunikation und Verteilung- Integration- Persistenz
Die nunmehr fünfte (aktualisierte und erweiterte) Auflage enthält darüber hinaus ein Kapitel zum Thema Software-Inbetriebnahme.
Patterns kompakt richtet sich an Praktiker: Softwareentwickler, -architekten sowie alle, die einen praxisorientierten Überblick zu Entwurfsmustern benötigen.

Inhaltsverzeichnis

Frontmatter

1. Grundlagen des Software-Entwurfs

Dieses Kapitel erläutert einige fundamentale Prinzipien des Entwurfs von Softwaresystemen. Als weitere Hilfe stellen wir Ihnen in Form von Heuristiken einige allgemeine Leitlinien vor, die Sie in vielen Entwurfssituationen anwenden können. Diese sollen Ihnen dabei helfen, sich beim konkreten Design für oder gegen die Anwendung bestimmter Muster zu entscheiden.
Karl Eilebrecht, Gernot Starke

2. Grundkonstrukte der Objektorientierung in Java, C# und C++

Viele Patterns basieren auf einer Kombination einiger zentraler Modellierungskonstrukte, namentlich auf Schnittstellen- und Implementierungsvererbung sowie abstrakten und konkreten Klassen. In diesem Abschnitt zeigen wir Ihnen dazu einige Möglichkeiten zur Implementierung in den Mainstream-Sprachen Java, C# und C++ auf. Die Fangemeinde alternativer und innovativer OO-Ansätze (z. B. JavaScript oder Golang) sowie der Scala-Traits möge uns diese Auswahl verzeihen – hier obsiegt die normative Kraft des Faktischen.
Karl Eilebrecht, Gernot Starke

3. Erzeugungsmuster

Sie müssen Instanzen von Objekten oder Services erzeugen. In einigen Fällen ist dies zeitaufwändig oder komplex – einige typische Muster können Ihnen dabei helfen, beispielsweise Abstract-Factory, Builder, Factory-Method, Singleton oder Object-Pool.
Karl Eilebrecht, Gernot Starke

4. Verhaltensmuster

Sie möchten das konkrete Verhalten ihrer Komponenten oder Klassen steuern, ohne in if-then-else-Kaskaden zu geraten. Die in diesem Kapitel vorgestellten Muster sollen die Flexibilität Ihrer Software erhöhen und dabei Codedegenerierung zu vermeiden. Beispiele sind Command, Command Processor, Iterator, Visitor, Strategy, Template Method und Observer.
Karl Eilebrecht, Gernot Starke

5. Strukturmuster

Sie müssen Beziehungen zwischen einzelnen Teilen Ihres Systems aufbauen, möchten das aber auf kontrollierte und systematische Art-und-Weise tun. Einige wichtige Muster können Ihnen dabei helfen, beispielsweise Adapter, Bridge, Decorator, Fassade, Proxy, Model-View-Controller, Flyweight und Composite.
Karl Eilebrecht, Gernot Starke

6. Verteilung

Sie möchten Aufgaben auf mehrere Ausführungseinheiten verteilen oder ganz einfach einen Client entfernte Services nutzen lassen. Dann können Muster wie Combined Method, Data Transfer Object, Transfer Object Assembler, Active Object und Master-Slave hilfreich sein.
Karl Eilebrecht, Gernot Starke

7. Integration

Sie möchten unterschiedliche Teile Ihres Systems zusammenarbeiten lassen – aber das „jeder-ruft-jeden“-Chaos vermeiden? Typische Integrationsmuster können Ihnen helfen, etwa Wrapper, Gateway, PlugIn, Mapper oder Dependency-Injection.
Karl Eilebrecht, Gernot Starke

8. Persistenz

Sie möchten Objekte dauerhaft speichern. Neben einer geeigneten O/R-Mapping Strategie können Ihnen Muster wie Identity Map, Lazy Load, Coarse-Grained Lock, Optimistic Offline Lock und Pessimistic Offline Lock bei der Lösung helfen.
Karl Eilebrecht, Gernot Starke

9. Datenbankschlüssel

In Datenbanksystemen, zumindest in relationalen, haben wir es häufig mit der Notwendigkeit zu tun, eindeutige Schlüssel zu erzeugen. Einige Muster bieten Lösungen für diese spezielle Problemkategorie, beispielsweise das Identity-Field, Sequenzblock, UUIDs und Hashwertschlüssel.
Karl Eilebrecht, Gernot Starke

10. Sonstige Patterns

Wir müssen zugeben, dass wir die nachfolgenden Muster zwar für sehr wichtig halten, uns andererseits aber kein besserer Kapitelname als „Sonstige Patterns“ eingefallen ist. In diese Kategorie fallen Währung (Money), Null-Object, Value-Object und Registry. Ebenfalls Unterschlupf gefunden haben die Empfehlungen zur Schablonendokumentation und Inbetriebnahme.
Karl Eilebrecht, Gernot Starke

11. Patterns – Wie geht es weiter?

Mit den Patterns aus diesem (kleinen) Buch können Sie hoffentlich Ihre eigenen Software-Entwürfe oder Implementierungen an einigen Stellen verbessern. Noch wichtiger erscheint uns jedoch die langfristige (neudeutsch: strategische) Verwendung von Patterns zum Wissenstransfer, der deutlich über das Thema Software-Entwurf hinaus wirkt.
Viele Menschen mit signifikanter IT-Erfahrung aus aller Welt haben in den letzten Jahren ihre Erfahrungen aus unterschiedlichen Bereichen der Informationstechnik in Form von Patterns aufgeschrieben. Die meisten wollten damit ihre spezifischen Erfahrungen, ihr Wissen und Können kodifizieren und ihrer Leserschaft (also möglicherweise auch Ihnen!) zugänglich machen.
Leider bietet dieses Buch nur für eine kleine Auswahl dieser Patterns Platz – wir möchten Ihnen zumindest einige andere Bereiche vorstellen, in denen Sie Wissen und Erfahrungen in Pattern-Form in publizierter Form finden können. In diesem Sinne verstehen Sie die folgenden Absätze bitte als eine Art kommentierte Literaturliste, die Ihnen als Anregung für weitere Beschäftigung mit den spannenden und interessanten Themen dienen soll.
Karl Eilebrecht, Gernot Starke

Backmatter

Weitere Informationen

Premium Partner

BranchenIndex Online

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

Whitepaper

- ANZEIGE -

Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!

Bildnachweise