docs/DesignPatterns

view 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
line source
1 % @file
2 % @brief Referat DesignPattern `Observer'
3 % @author markus schnalke <meillo@marmaro.de>
4 % @since 2007-05-30
7 \documentclass{beamer}
10 \usepackage[T1]{fontenc}
11 \usepackage[latin1]{inputenc}
12 \usepackage{ngerman}
13 \usepackage{graphicx}
14 \usepackage[automark]{scrpage2}
15 \input{Style01}
19 \begin{document}
22 \title{Design Pattern ``Observer''}
23 \date{\today}
25 \author{Markus Schnalke}
27 %\titlegraphic{\includegraphics[width=3cm]{Pics/Maka-Logo.png}}
29 \frame{
30 \titlepage
31 }
37 \section[Outline]{}
38 \frame{
39 Dauer der Präsentation: etwa 10 Minuten
40 \vspace{2ex}
42 \tableofcontents
43 }
48 \section{Vorgehensweise}
50 \frame{ \frametitle{Von der anderen Seite}
52 \begin{block}{Gründe}
53 Design Pattern sind so etwas wie ``Best Practices'' (also bewährte
54 Vorgehensweisen), oft \textbf{nach Vorbildern in der Wirklichkeit}
55 \end{block}
56 \pause
57 \begin{block}{Meine Vorgehensweise}
58 Ich will nun anhand eines Beispiels aus dem täglichen Leben zeigen, dass
59 das Design Pattern ``Observer'' ein absolut natürliches Vorgehen ist, das
60 bei ähnlichen Situationen in Programmen deshalb ebenso verwendet werden
61 sollte.
62 \end{block}
64 % todo: Mehr und ausführlicher; Verweis auf nach dem Vortrag
66 }
69 \section{Erarbeitung des Observers}
71 \frame{ \frametitle{Ein Beispiel}
73 \begin{block}{Die Situation}
74 \begin{itemize}
75 \item Personen die verkaufen möchten
76 \item Personen die kaufen möchten
77 \item Sie wollen/sollen sich nicht kennen
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}
89 }
92 \frame{ \frametitle{Ansatz}
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}
102 \pause
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}
113 }
116 \frame{ \frametitle{Eine (gute) Lösung: Pinnwand}
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}
128 \pause
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}
138 }
143 \frame{ \frametitle{Verbesserung: Pinnup-Sekretärin}
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}
155 \pause
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}
163 }
166 \frame{ \frametitle{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung}
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}
177 }
180 % Zusammenfassung des Beispiels: Was haben wir, ist alles abgedeckt
181 % Frage: Sind die Zuhörer zufrieden? Ist die Lösung gut?
184 \section{Nun zum Pattern}
186 \frame { \frametitle{UML-Diagramm des Observers}
187 \includegraphics[width=20em]{pics/observer.png}
188 }
191 % Daten aus der Beschreibung des Observers von GoF
192 % in welche Gruppen wird er eingeordnet
195 % Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo)
196 % nicht aber (Blog + RSS)
199 % Erweiterungen, verbleibende Probleme, Kompromisse beim Design
202 % Erklärung des Vorgehens
203 % Frage: war es erfolgreich?
207 \section{Zusammenfassung}
208 \frame{ \frametitle{Zusammenfassend}
209 \begin{block}{Zusammenfassung}
210 \begin{itemize}
211 \item
212 \item
213 \item
214 \end{itemize}
215 \end{block}
217 \pause
219 \begin{block}{Fazit}
220 \begin{itemize}
221 \item
222 \item
223 \item
224 \end{itemize}
225 \end{block}
226 }
229 \section{Fragen}
230 \frame{ \frametitle{Fragen?}
231 \vspace{5ex}
232 \centerline{\huge ?}
233 }
236 \frame{ \frametitle{Abschließend}
237 \begin{block}{Verwendete Software}
238 \begin{itemize}
239 \item Debian GNU/Linux
240 \item \LaTeX-Beamer und \texttt{pdflatex}
241 \item Vim
242 \item qiv und ImageMagick
243 \end{itemize}
244 \end{block}
246 \begin{block}{}
247 \vspace{3ex}
248 \centerline{\textbf{Danke für eure Aufmerksamkeit}}
249 \end{block}
250 }
253 % Code (Beispiel-Implementierung)
257 \end{document}
264 %\subsubsection{Fehlteilmanagement}
265 %\frame{ \frametitle{Fehlteilmanagement}
266 % %\includegraphics[width=10cm]{Pics/cc.png}
267 %}
269 % \vspace{2ex}