docs/DesignPatterns

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