Einführung in Software Entwurfsmuster

Preview:

DESCRIPTION

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

Citation preview

Design PatternEntwurfsmuster

Patrick Koglin, März 2014

Entwurfsmuster• Was sind Entwurfsmuster?

• Beschreibungsschablone

• Patterns on work

• Musterüberblick

Was sind Entwurfsmuster?

Lösungsschablonen für wiederkehrende Aufgaben

Was sind Entwurfsmuster?Abstraktion von Code und Abbildung der Kundenprobleme

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

Model View Presenter

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

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

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

• 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

Recommended