9
Design Pattern Entwurfsmuster Patrick Koglin, März 2014

Einführung in Software Entwurfsmuster

Embed Size (px)

DESCRIPTION

Ein Überlick zur Anwendung von Entwurfsmustern (Design pattern). Welche Muster gibt es? Wie wendet man sie an? Wo findet man Entwurfsmuster?

Citation preview

Page 1: Einführung in Software Entwurfsmuster

Design PatternEntwurfsmuster

Patrick Koglin, März 2014

Page 2: Einführung in Software Entwurfsmuster

Entwurfsmuster• Was sind Entwurfsmuster?

• Beschreibungsschablone

• Patterns on work

• Musterüberblick

Page 3: Einführung in Software Entwurfsmuster

Was sind Entwurfsmuster?

Lösungsschablonen für wiederkehrende Aufgaben

Page 4: Einführung in Software Entwurfsmuster

Was sind Entwurfsmuster?Abstraktion von Code und Abbildung der Kundenprobleme

Page 5: Einführung in Software Entwurfsmuster

Was sind Entwurfsmuster?Gleiche Lösungsmuster + gleicher Sprachgebrauch = verständliche Kommunikation

Model View Presenter

Page 6: Einführung in Software Entwurfsmuster

Entwurfsmuster-Schablone

• Name

• Zweck - Wozu dient das Pattern?

• Anwendbarkeit (Einsatzbereich des Musters)

• Problem/Kontext

• Lösung/Struktur

• Zusammenspiel beteiligter Klassen

• Vor- und Nachteile

• Verwendung Beispiel „Zustandsmuster“

Wie werden Entwurfsmuster in der Literatur beschrieben

Page 7: Einführung in Software Entwurfsmuster

Bekannte Entwurfsmuster

Erzeugungsmuster Strukturmuster Verhaltensmuster

• (Abstract) Factory

• Singleton• Builder• Prototype

• Adapter• Bridge• Decorator• Facade• Composite• Proxy

• Interpreter• State• Visitor• Command• Strategy• Chain of

Responsibility

Bekanntes Design Pattern Buch der „Gang of four“ beschreibt eine Vielzahl grundlegender Muster

* die englische Bezeichnung für Design pattern hat sich in der Praxis etabliert

Page 8: Einführung in Software Entwurfsmuster

Patterns at work• Wie setzt man Entwurfsmuster

in der Praxis ein?

Problem identifizieren

verfügbare Muster betrachten

Sind grundlegende Anforderungen

erfüllt?Welche

Konsequenzen hat der Einsatz?

Muster wählen

Implementieren

Refactoring nicht ausschließen

Page 9: Einführung in Software Entwurfsmuster

• Didaktisch gut aufbereitet• Schrittweises lernen• Zum Einarbeiten in einzelne

Muster • Nicht zur Auswahl eines

Musters geeignet• Java Code

• Kurz und knapp• Guter Überblick• Hilfreich bei der Suche nach

einem geeigneten Muster• Keine Implementierungsdetails

Buch bei amazon.de • Klassiker• Schneller Überblick• Gut zum

Nachschlagen• C++ Code

Online Quelle:http://sourcemaking.com/design_patterns