0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten3 Seiten

Design Patterns

Design Patterns sind bewährte Lösungsansätze für wiederkehrende Entwurfsprobleme in der Softwareentwicklung, die in drei Gruppen unterteilt werden: Creational, Structural und Behavioral Patterns. Sie bieten elegante Lösungen, die Zeit und Kosten sparen, und erleichtern die Kommunikation zwischen Programmierern. Der Katalog richtet sich an Einsteiger und kombiniert eine einführende Erklärung mit einer tiefgründigen Analyse der Design Patterns.

Hochgeladen von

Viktor Ott
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten3 Seiten

Design Patterns

Design Patterns sind bewährte Lösungsansätze für wiederkehrende Entwurfsprobleme in der Softwareentwicklung, die in drei Gruppen unterteilt werden: Creational, Structural und Behavioral Patterns. Sie bieten elegante Lösungen, die Zeit und Kosten sparen, und erleichtern die Kommunikation zwischen Programmierern. Der Katalog richtet sich an Einsteiger und kombiniert eine einführende Erklärung mit einer tiefgründigen Analyse der Design Patterns.

Hochgeladen von

Viktor Ott
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Was sind Design Patterns?

Design Patterns sind bewährte Lösungsansätze für wiederkehrende Entwurfsprobleme in der


Softwareentwicklung.

In diesem Blogbeitrag erfährst du alles rund um die wichtigsten Design Patterns und wie du diese
effektiv in deinem Projekt nutzt. Neben den 23 am häufigst verwendeten Design Patterns gibt es
noch viele weitere Design Patterns wie zB Enterprise Patterns oder Data Model Patterns.

Design Patterns sind deshalb so wichtig, da sie elegante Lösungansätze bieten und bei gekonnter
Umsetzung Kosten und Zeit sparen. In der Software Entwicklung stößt man immer wieder auf
ähnliche Herausforderungen, wie ein Programm für bestimmte Fälle geschrieben werden soll. Stößt
man auf eine solche Herausforderung ist es ratsam, sich nach einem geeigneten Design Pattern
umzusehen bevor man das Rad neu erfindet.

Die wichtigsten und am meisten verwendeten Design Patterns werden in 3 Gruppen unterteilt und
zwar gibt es die Creational patterns, die Structural patterns und die Behavioral patterns, siehe dazu
auch folgende Grafik:

1
Die 3 Design Pattern Gruppen näher erläutert:

1. Creational Patterns (Konzeptionelle Pattern)


dienen der Erzeugung von Objekten mithilfe von sogenannten Fabriken, wobei die Fabrik ganz genau
weiß, wie ein Objekt erzeugt werden soll. Der eigentliche Programmcode, der ein bestimmtes Objekt
benötigt, braucht daher nicht wissen, wie ein Objekt erzeugt wird.

• die eigentliche Implementierung kümmert sich somit nicht um die Erzeugung der Objekte,
sondern lässt das Objekt erzeugen. Das Programm setzt nach der Erzeugung des Objekts mit
dem Programmablauf fort. Die Anwendung selbst lagert dadurch das Erzeugen des Objekts
aus und kann sich auf vollständig erzeugte Objekte verlassen.

2. Structural Patterns (Strukturelle Pattern)

• Structural Patterns sind für den Aufbau einfacher und effizienter Klassenhierarchien und
Beziehungen zwischen verschiedenen Klassen verantwortlich.

• Ziel ist es, die Bindung zwischen 2 oder mehreren Klassen zu reduzieren

• verschiedenen Klassen können somit in Beziehung stehen und interagieren mittels einem
vordefinierten Interface miteinander

• Der Verbund solcher Klassen erlaubt es, die Funktionalität des Gesamten zu erweitern, ohne
dass dabei eine einzelne Klasse alles können muss. Somit interagieren verschiedene Klassen
miteinander, wobei jede Klasse für sich ihr Hauptaufgabe dazu beiträgt unter dem Motto:
gemeinsam im Verbund sind wir noch stärker

3. Behavioral Patterns (Verhaltensorientierte Pattern)

• Behavioral Patterns dienen dazu die Kommunikation zwischen Objekten zu vereinfachen. Die
Software wird dadurch flexibler

• Die Art und Weise wie Objekte miteinander kommunizieren kann damit zur Laufzeit auch
geändert werden.

Weitere Vorteile, die sich durch Design Patterns ergeben:

Wie bereits erwähnt lösen Design Patterns wiederkehrende Entwurfsprobleme auf leichte und
verständliche Art und Weise. Weiters dienen Sie auch dazu komplexe Sachverhalte mit nur einem
Begriff zu beschreiben. So erleichtern Design Patterns auch die Kommunikation zwischen
Programmierern.

2
Design Pattern (Entwurfsmuster) sind bewährte Lösungswege für wiederkehrende Designprobleme
in der Softwareentwicklung. Sie beschreiben die essenziellen Entwurfsentscheidungen (Klassen-
und Objektarrangements). Durch den Einsatz von Design Pattern wird ein Entwurf flexibel,
wiederverwendbar, erweiterbar, einfacher zu verwenden und änderungsstabil.

In den Design Patterns manifestiert sich die jahrelange Berufserfahrung vieler Softewareentwicklern.
Dieses Wissen und Erfahrung kann reaktiviert und nutzbar gemacht werden, ohne vorher den teuren
Prozess der Entwurfsentwicklung erneut durchlaufen zu müssen. Zeitgleich schulen Design Pattern
die Fähigkeit zur effektiven objektorientierten Modellierung.

Vorwort zu diesem Katalog

Die primäre Zielgruppe dieses Katalogs sind Einsteiger in der Thematik der Design Pattern. Daher
wurde viel Wert auf Einsteigerfreundlichkeit und Didaktik gelegt. Darüberhinaus soll jedoch ebenfalls
eine tiefgründige Analyse durchgeführt werden. Um die Divergenz dieser widersprüchlichen
Anforderungen zu überwinden, wurde der Katalog zweigeteilt:

• Einführung: Anhand eines alltäglichen, intuitiven, nicht-technischen Beispiels wird das


Design Pattern sukzessive aufgebaut und/oder hergeleitet.

• Analyse und Diskussion: Das Design Pattern wird mit der original englischen Terminologie
beschrieben, alle Variationsmöglichkeiten aufgezeigt, sowie Vor- und Nachteile dargelegt.
Besonderer Wert wurde auf die Anwendung von Design Pattern gelegt (Anwendungsfälle und
Blicke in die Java-API).

Das könnte Ihnen auch gefallen