docs/DesignPatterns

view 01_einfuehrung.tex @ 24:6592083da58a

cleanups
author meillo@marmaro.de
date Tue, 26 Jun 2007 22:30:35 +0200
parents 80c995d97cfa
children e7ac382e4a20
line source
1 % @file
2 % @brief Referat DesignPatterns `Einführung'
3 % @author Markus Rundel
4 % @since 2007-06-21
7 \documentclass{beamer}
9 \usepackage[utf8]{inputenc}
10 \usepackage{ngerman}
11 \usepackage{graphicx}
12 \usepackage[automark]{scrpage2}
13 \input{Style01}
15 \title{Einführung}
16 \author{Markus Rundel}
17 \date{}
20 \begin{document}
23 \frame{
24 \titlepage
25 }
28 \section[Outline]{}
29 \frame{
30 \tableofcontents
31 }
38 \section{Was sind Patterns?}
39 \frame{ \frametitle{Was sind Patterns?}
40 \begin{block}{Was sind Design Patterns?}
41 \end{block}
42 }
45 \section{Definitionen}
46 \frame{ \frametitle{Definitionen}
47 \begin{block}{Christopher Alexander}
48 Each pattern is a three-part-rule, which expresses a relation between a certain context, a problem and a solution
49 \end{block}
51 \pause
53 \begin{block}{Martin Fowler}
54 A pattern is an idea that has been useful in one practical context and will be probably useful in others.
55 \end{block}
57 \pause
59 \begin{block}{Gang of Four (GoF)}
60 Design Patterns sind Beschreibungen zusammenhängender Objekte und Klassen, die maßgeschneidert sind, um ein allgemeines Entwurfsproblem in einem bestimmten Kontext zu lösen.
61 \end{block}
62 }
65 \section{Geschichte}
66 \frame{ \frametitle{Geschichte}
67 \begin{block}{1970er Jahre}
68 Erstellung erster Entwurfsmuster von einem Architekten
69 \end{block}
71 \pause
74 \begin{block}{1980er Jahre}
75 Entwicklung von Entwurfsmuster für grafische Benutzerschnittstellen
76 \end{block}
79 \pause
81 \begin{block}{1991}
82 ``Design Patterns - Elements of Reusable Object-Oriented Software''
83 \end{block}
84 }
87 \section{Klassifizierung}
88 \frame{ \frametitle{Klassifizierung}
89 \begin{block}{Schema zum beschreiben von Design Patterns}
91 \begin{itemize}
92 \item Mustername und Klassifikation
93 \item Zweck (Wozu dient dieses Muster?)
94 \item Synonyme
95 \item Motivation
96 \item Anwendbarkeit
97 \item Struktur
98 \item Beteiligte Klassen (Akteure)
99 \item Zusammenspiel der involvierten Klassen
100 \item Vor- und Nachteile
101 \item Implementierung
102 \item Beispielcode
103 \item Praxiseinsatz
104 \item Querverweise
105 \end{itemize}
106 \end{block}
108 }
111 \section{Nutzen und Vorteile}
112 \frame{ \frametitle{Nutzen und Vorteile}
114 \begin{block}{Nutzen / Vorteile von Design Pattern}
115 \begin{itemize}
116 \item Zeitersparnis
117 \item Fehlerfreiheit
118 \item Gemeinsame Kommunikationsgrundlage
119 \item Sauberes OO-Design
120 \item Lesbarkeit
121 \item Kommunikation
122 \item Geringerer Testaufwand
123 \item Höhere Robustheit
124 \end{itemize}
125 \end{block}
128 }
131 \section{Literatur}
132 \frame{ \frametitle{Literatur}
133 \begin{block}{Design Patterns}
134 \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides}
135 \end{block}
137 \pause
139 \begin{block}{Design Patterns Explained}
140 A New Perspective on Object Oriented Design
142 \textit{Allan Shalloway, James R. Trott}
143 \end{block}
145 \pause
147 \begin{block}{Modern C++ Design}
148 Generic Programming and Design Patterns applied
150 \textit{Andrei Alexandrescu}
151 \end{block}
153 }
156 \section{Beispiele}
157 \frame{ \frametitle{Beispiele}
158 \begin{block}{In der Vorlesung behandelte Design Pattern}
159 \begin{itemize}
160 \item Singleton
161 \item Strategie
162 \item Fassade
163 \end{itemize}
164 \end{block}
166 \begin{block}{Weitere Design-Patterns}
167 \begin{itemize}
168 \item Iterator
169 \item General Hierarchie
170 \item Player Role Pattern
171 \item Immutable
172 \item Read-Only Interface
173 \end{itemize}
174 \end{block}
175 }
184 \section{Zusammenfassung}
185 \frame{
186 \begin{block}{Zusammenfassung}
187 \begin{itemize}
188 \item Design Patterns sind bewährte Lösungen zu bekannten, häufiger auftretenden Problemen in der Softwareentwicklung
189 \item Ende der 80er Jahre wurden Entwurfsmusster erstmals in der Softwareentwicklung eingesetzt
190 \item Die GoF entwickelte ein einheitliches Schema um die einzelnen Design Pattern beschreiben zu können
191 \end{itemize}
192 \end{block}
193 }
196 \end{document}