docs/DesignPatterns

view 01_einfuehrung.tex @ 35:05f432307ba2

trivial change
author meillo@marmaro.de
date Sat, 11 Aug 2007 15:40:50 +0200
parents e206112b4afe
children
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 Geringerer Testaufwand
122 \item Höhere Robustheit
123 \end{itemize}
124 \end{block}
127 }
130 \section{Literatur}
131 \frame{ \frametitle{Literatur}
132 \begin{block}{Design Patterns}
133 \textit{Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides}
134 \end{block}
136 \pause
138 \begin{block}{Design Patterns Explained}
139 A New Perspective on Object Oriented Design
141 \textit{Allan Shalloway, James R. Trott}
142 \end{block}
144 \pause
146 \begin{block}{Modern C++ Design}
147 Generic Programming and Design Patterns applied
149 \textit{Andrei Alexandrescu}
150 \end{block}
152 }
155 \section{Beispiele}
156 \frame{ \frametitle{Beispiele}
157 \begin{block}{Im Script behandelte Design Pattern}
158 \begin{itemize}
159 \item Singleton
160 \item Strategie
161 \item Fassade
162 \end{itemize}
163 \end{block}
165 \begin{block}{Weitere Design-Patterns}
166 \begin{itemize}
167 \item Iterator
168 \item General Hierarchie
169 \item Player Role Pattern
170 \item Immutable
171 \item Read-Only Interface
172 \end{itemize}
173 \end{block}
174 }
183 \section{Zusammenfassung}
184 \frame{
185 \begin{block}{Zusammenfassung}
186 \begin{itemize}
187 \item Design Patterns sind bewährte Lösungen zu bekannten, häufiger auftretenden Problemen in der Softwareentwicklung
188 \item Ende der 80er Jahre wurden Entwurfsmusster erstmals in der Softwareentwicklung eingesetzt
189 \item Die GoF entwickelte ein einheitliches Schema um die einzelnen Design Pattern beschreiben zu können
190 \end{itemize}
191 \end{block}
192 }
195 \end{document}