Mercurial > docs > DesignPatterns
comparison main.tex @ 3:0923f2ae50a5
added lots of text
modified Makefile to call xpdf with -fullscreen
author | meillo@marmaro.de |
---|---|
date | Fri, 01 Jun 2007 17:47:47 +0200 |
parents | fe9c99202977 |
children | ba98bb97db06 |
comparison
equal
deleted
inserted
replaced
2:961cb2d9b1b5 | 3:0923f2ae50a5 |
---|---|
43 } | 43 } |
44 | 44 |
45 | 45 |
46 | 46 |
47 | 47 |
48 \section{Überblick} | 48 \section{Vorgehensweise} |
49 | 49 |
50 \frame{ \frametitle{Grundlegendes zum Observer} | 50 \frame{ \frametitle{Von der anderen Seite} |
51 | 51 |
52 \begin{block}{aa} | 52 \begin{block}{Gründe} |
53 \begin{itemize} | 53 Design Pattern sind so etwas wie ``Best Practices'' (also bewährte |
54 \item | 54 Vorgehensweisen), oft \textbf{nach Vorbildern in der Wirklichkeit} |
55 \item | 55 \end{block} |
56 \item | 56 \pause |
57 \item | 57 \begin{block}{Meine Vorgehensweise} |
58 \item | 58 Ich will nun anhand eines Beispiels aus dem täglichen Leben zeigen, dass |
59 \end{itemize} | 59 das Design Pattern ``Observer'' ein absolut natürliches Vorgehen ist, das |
60 \end{block} | 60 bei ähnlichen Situationen in Programmen deshalb ebenso verwendet werden |
61 | 61 sollte. |
62 \pause | 62 \end{block} |
63 | 63 |
64 \begin{block}{bb} | 64 % todo: Mehr und ausführlicher; Verweis auf nach dem Vortrag |
65 \begin{itemize} | 65 |
66 \item | 66 } |
67 \item | 67 |
68 \end{itemize} | 68 |
69 \end{block} | 69 \section{Erarbeitung des Observers} |
70 | 70 |
71 } | 71 \frame{ \frametitle{Ein Beispiel} |
72 | 72 |
73 | 73 \begin{block}{Die Situation} |
74 | 74 \begin{itemize} |
75 \section{Ansatz} | 75 \item Personen die verkaufen möchten |
76 | 76 \item Personen die kaufen möchten |
77 \frame{ \frametitle{Bezug zum RL} | 77 \item Sie wollen/sollen sich nicht kennen |
78 | 78 \item Möglichst effektives Vorgehen |
79 \end{itemize} | |
80 \end{block} | |
81 \pause | |
82 \begin{block}{Vorschläge?} | |
83 \begin{itemize} | |
84 \item | |
85 \item | |
86 \end{itemize} | |
87 \end{block} | |
88 | |
89 } | |
90 | |
91 | |
92 \frame{ \frametitle{Ansatz} | |
93 | |
94 \begin{block}{Mögliche Vorgehen} | |
95 \begin{itemize} | |
96 \item Personen direkt ansprechen | |
97 \item Laut in die Menge rufen | |
98 \item Den Freunden erzählen, die es dann weitererzählen | |
99 \end{itemize} | |
100 \end{block} | |
101 | |
102 \pause | |
103 | |
104 \begin{block}{Probleme} | |
105 \begin{itemize} | |
106 \item Man weiß nicht wer Interesse hat | |
107 \item nicht mal wieviele | |
108 \item Manche Interessenten sind vielleicht nur zu bestimmten Zeiten da | |
109 \item ... oder sie sind taub | |
110 \end{itemize} | |
111 \end{block} | |
112 | |
113 } | |
114 | |
115 | |
116 \frame{ \frametitle{Eine (gute) Lösung: Pinnwand} | |
117 | |
118 \begin{block}{Funktionsweise} | |
119 \begin{itemize} | |
120 \item Man kann Zettel anpinnen | |
121 \item Hingehen und nach neuen Zetteln schauen | |
122 \item Zettel lesen | |
123 \item Zettel abnehmen | |
124 \item Jeder der ein paar Fähigkeiten hat kann es | |
125 \end{itemize} | |
126 \end{block} | |
127 | |
128 \pause | |
129 | |
130 \begin{block}{Probleme} | |
131 \begin{itemize} | |
132 \item Man muss hingehen, nur um festzustellen, dass nichts Neues dabei ist | |
133 \item Man kann wichtige Zettel verpassen | |
134 \item Zettel sollten nicht weggenommen werden können | |
135 \end{itemize} | |
136 \end{block} | |
137 | |
138 } | |
139 | |
140 | |
141 | |
142 | |
143 \frame{ \frametitle{Verbesserung: Pinnup-Sekretärin} | |
144 | |
145 \begin{block}{Lösung} | |
146 \begin{itemize} | |
147 \item Durch Studiengebühren wird eine Sekretärin für die Pinnwand angestellt | |
148 \item Pinnwand und Sekretärin sind fortan eine Einheit | |
149 \item Man kann bei ihr einen Zettel in Auftrag geben (auch telefonisch) | |
150 \item (Sie schreibt mit lesbarer Schrift) | |
151 \item Sie verhindert, dass Zettel abgenommen werden | |
152 \end{itemize} | |
153 \end{block} | |
154 | |
155 \pause | |
156 | |
157 \begin{block}{Bestehendes Problem} | |
158 \begin{itemize} | |
159 \item Man läuft immer noch oft unnötig zur Pinnwand | |
160 \end{itemize} | |
161 \end{block} | |
162 | |
163 } | |
164 | |
165 | |
166 \frame{ \frametitle{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung} | |
167 | |
168 \begin{block}{Lösung} | |
169 \begin{itemize} | |
170 \item Durch Studiengebühren wird eine längere Arbeitszeit der Sekretärin finanziert | |
171 \item Man kann sich bei der Sekretärin nun als ``Interessierter'' registrieren | |
172 \item Die Sekretärin trägt die Telefonnummer in eine Liste ein | |
173 \item Fortan ruft sie alle Personen der Liste an, wenn sie einen neuen Zettel anpinnt | |
174 \end{itemize} | |
175 \end{block} | |
176 | |
177 } | |
178 | |
179 | |
180 % Zusammenfassung des Beispiels: Was haben wir, ist alles abgedeckt | |
181 % Frage: Sind die Zuhörer zufrieden? Ist die Lösung gut? | |
182 | |
183 | |
184 \section{Nun zum Pattern} | |
185 | |
186 \frame { \frametitle{UML-Diagramm des Observers} | |
187 \includegraphics[width=20em]{pics/observer.png} | |
188 } | |
189 | |
190 | |
191 % Daten aus der Beschreibung des Observers von GoF | |
192 % in welche Gruppen wird er eingeordnet | |
193 | |
194 | |
195 % Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo) | |
196 % nicht aber (Blog + RSS) | |
197 | |
198 | |
199 % Erweiterungen, verbleibende Probleme, Kompromisse beim Design | |
200 | |
201 | |
202 % Erklärung des Vorgehens | |
203 % Frage: war es erfolgreich? | |
204 | |
205 | |
206 | |
207 \section{Zusammenfassung} | |
208 \frame{ \frametitle{Zusammenfassend} | |
209 \begin{block}{Zusammenfassung} | |
79 \begin{itemize} | 210 \begin{itemize} |
80 \item | 211 \item |
81 \item | 212 \item |
82 \item | 213 \item |
83 \item | 214 \end{itemize} |
84 \end{itemize} | 215 \end{block} |
85 | 216 |
86 } | 217 \pause |
87 | 218 |
88 | |
89 | |
90 | |
91 \subsubsection{Fehlteilmanagement} | |
92 \frame{ \frametitle{Fehlteilmanagement} | |
93 %\includegraphics[width=10cm]{Pics/cc.png} | |
94 } | |
95 | |
96 | |
97 | |
98 \section{Fazit und Dank} | |
99 \frame{ \frametitle{Zusammenfassend} | |
100 \begin{block}{Fazit} | 219 \begin{block}{Fazit} |
101 \begin{itemize} | 220 \begin{itemize} |
102 \item | 221 \item |
103 \item | 222 \item |
104 \item | 223 \item |
105 \end{itemize} | 224 \end{itemize} |
106 \end{block} | |
107 | |
108 \pause | |
109 | |
110 \begin{block}{Dank} | |
111 \vspace{2ex} | |
112 | |
113 \begin{center} | |
114 Vielen Dank\\ | |
115 \textbf{dd} | |
116 \end{center} | |
117 \end{block} | 225 \end{block} |
118 } | 226 } |
119 | 227 |
120 | 228 |
121 \section{Fragen} | 229 \section{Fragen} |
122 \frame{ \frametitle{Fragen?} | 230 \frame{ \frametitle{Fragen?} |
123 | |
124 \vspace{5ex} | 231 \vspace{5ex} |
125 \centerline{\huge ?} | 232 \centerline{\huge ?} |
126 } | 233 } |
127 | 234 |
128 | 235 |
130 \begin{block}{Verwendete Software} | 237 \begin{block}{Verwendete Software} |
131 \begin{itemize} | 238 \begin{itemize} |
132 \item Debian GNU/Linux | 239 \item Debian GNU/Linux |
133 \item \LaTeX-Beamer und \texttt{pdflatex} | 240 \item \LaTeX-Beamer und \texttt{pdflatex} |
134 \item Vim | 241 \item Vim |
135 \item gThumb, GIMP und qiv | 242 \item qiv und ImageMagick |
136 \end{itemize} | 243 \end{itemize} |
137 \end{block} | 244 \end{block} |
138 | 245 |
139 \begin{block}{} | 246 \begin{block}{} |
140 \vspace{3ex} | 247 \vspace{3ex} |
141 \centerline{\textbf{Danke für eure Aufmerksamkeit}} | 248 \centerline{\textbf{Danke für eure Aufmerksamkeit}} |
142 \end{block} | 249 \end{block} |
143 } | 250 } |
144 | 251 |
145 | 252 |
253 % Code (Beispiel-Implementierung) | |
254 | |
255 | |
146 | 256 |
147 \end{document} | 257 \end{document} |
258 | |
259 | |
260 | |
261 | |
262 | |
263 | |
264 %\subsubsection{Fehlteilmanagement} | |
265 %\frame{ \frametitle{Fehlteilmanagement} | |
266 % %\includegraphics[width=10cm]{Pics/cc.png} | |
267 %} | |
268 | |
269 % \vspace{2ex} |