Design Pattern

Studienprojekt von Philipp Hauer. 2009 - 2010. ©

Design Pattern/Entwurfsmuster Wordle

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

Aufbau des Design Pattern Katalogs (Entwurfsmuster) 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 sukessive 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).

Katalogübersicht

Design Pattern Vorschau Anwendung
Strategy Strategy Design Pattern Das Strategy Design Pattern ermöglicht einer Klasse das flexible Wechseln von alternativen Verhalten. Mehr zum Strategy Pattern... >>
Observer Observer Design Pattern Das Observer Entwurfsmuster ist für Situation geeignet, in denen ein oder mehrere Objekte benachrichtigt werden müssen, sobald sich der Zustand eines bestimmten Objekts ändert. Mehr zum Observer Pattern... >>
Decorator Decorator Design Pattern Das Decorator Design Pattern ermöglicht es, einem Objekt dynamisch neues Verhalten hinzuzufügen. Mehr zum Decorator Pattern... >>
Factory Method Factory Method Design Pattern Das Factory Method Entwurfsmuster dient der Entkopplung des Clients von der konkreten Instanziierung einer Klasse. Das erstellte Objekt kann elegant ausgetauscht werden. Mehr zum Factory Method Pattern... >>
Abstract Factory Abstract Factory Entwurfsmuster Das Abstract Factory Design Pattern dient der Definition einer zusammenhängenden Familie aus Produkten. Die Familien können elegant ausgetauscht werden. Mehr zum Abstract Factory Pattern... >>
Singleton Abstract Factory Entwurfsmuster Das Singleton Entwurfsmuster sorgt dafür, dass es von einer Klasse nur eine einzige Instanz gibt und diese global zugänglich ist. Mehr zum Singleton Pattern... >>
Command Command Design Pattern Das Command Design Pattern ermöglicht die Modularisierung von Befehlen und Aufrufen. Auf elegante Weise können Befehle rückgängig gemacht, protokolliert oder in einer Warteschlange gelegt werden. Mehr zum Command Pattern... >>
Composite Das Composite Design Pattern Das Composite Entwurfsmuster ermöglicht es, eine verschachtelte (Baum)Struktur einheitlich zu behandeln, unabhängig davon, ob es sich um ein atomares Element oder um ein Behälter für weitere Elemente handelt. Der Client kann elegant mit der Struktur arbeiten. Mehr zum Composite Pattern... >>
Facade Facade Design Pattern Das Facade Design Pattern definiert eine vereinfachte Schnittstelle zur Benutzung eines Systems oder einer Menge von Objekten. Mehr zum Facade Pattern... >>
State State Design Pattern/Zustand Entwurfsmuster Das State Entwurfsmuster ermöglicht die elegante Modellierung von zustandsabhängigen Verhalten eines Objekts. Je nach internen Zustand ändert sich das Verhalten des Objekts. Mehr zum State Pattern... >>

Kommentare

Bitte auswählen:*
knubbels 2015-02-16 00:55:27
Tolles Projekt und toll erklärt.

Nur nebenbei: Lassen sich die jeweiligen Artikel zu den Pattern evtl. zu einem downloadbaren PDF zusammenfassen?
NK 2014-11-20 14:57:33
Genial!
Gem 2014-10-30 10:25:24
Hey, klasse Zusammenstellung. Leider fehlt das Model-View-Controller-Pattern. Wenn das noch hinzukäme wäre es perfekt :)
Ben 2014-09-22 15:47:50
Vielen Dank für diese sehr gute Zusammenstellung. Ideal wenn man mal in der Vorlesung gefehlt hat, oder einfach nicht kapiert hat, was der Prof vorne versucht hat zu erklären. Die gewählten Beispiele sind anschaulich und nicht langweilig. Meistens konnte ich die Funktionsweise bereits sehr gut an den Beispielen nachvollziehen. Sehr gute Arbeit, dafür gibt's fünf Sterne ***** und zwei Bienen für den Fleiß ins Muttiheft :D
Django 2014-09-21 14:23:35
Also ich muss mich auch einmal hier bedanken, habe selten komplexe Materie SO gut erklärt bekommen. Da können sich manche Proffs oder Dozenten an FH´s oder Unis echt schämen...die nicht annähernd an die Wissenvermittlungsqualität die hier geboten wird heranreichen. Meine Fresse ! Wirklich unfassbar.
Vielen Dank für die Mühe!
Ich stimme all meinen lobenden Vorrednern zu
Max 2014-07-16 12:01:42
Danke, sehr schön gemacht!
Mäx 2014-05-22 09:55:49
Gäbe es diese Seite nicht, würde etwas fehlen.
Volltreffer!
Matze 2014-02-20 01:43:35
Prima, hast mir sehr bei der Prüfungsvorbereitung geholfen... Vor allem die Art und Weise, wie von einer Problemstellung ausgehend ein Pattern entwickelt wird, hat es mir sehr erleichtert die Prinzipien dahinter zu verstehen.
wie auch immer 2014-02-07 14:27:30
Ja, gut. Wäre aber schön wenn die Abschnitte noch schön als pdf zu extrahieren gingen.
Ben 2013-08-23 11:15:06
Wirklich Klasse erklärt und aufbereitet. Vielen Dank dafür!!!
Marcel 2013-07-08 16:11:15
Vielen Dank für die super verständlichen Erklärungen!
Michael 2013-07-07 15:07:41
Sehr sehr nützlich so kurz vor der SoftwareEngineering Klausur. Gut in Worte gefasst und vor allem auch anschaulich!
Danke dir
Elena 2013-07-04 12:28:01
Hallo,
sehr schön erklärt, danke.

Hast du vielleicht Beispiele und dazu ausführliche Erklärungen, wo zwei oder mehrere Patterns zusammenarbeiten?

Danke
Rob 2013-06-04 11:19:38
Ich braeuchte dringend vernuenfte Erklaerungen wie deine fuer
Adapter
Proxy

Haben da ne Pruefung und der Prof hat echt schlechte Beispiele genannt.......
Jack 2013-05-24 23:54:05
Danke für deine Ausarbeitung.
Hat mir sehr geholfen :)))

Seite: 3 - vorherige Seite nächste Seite