docs/DesignPatterns
diff 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 diff
1.1 --- a/main.tex Wed May 30 12:40:26 2007 +0200 1.2 +++ b/main.tex Fri Jun 01 17:47:47 2007 +0200 1.3 @@ -45,23 +45,41 @@ 1.4 1.5 1.6 1.7 -\section{Überblick} 1.8 +\section{Vorgehensweise} 1.9 1.10 -\frame{ \frametitle{Grundlegendes zum Observer} 1.11 +\frame{ \frametitle{Von der anderen Seite} 1.12 1.13 - \begin{block}{aa} 1.14 + \begin{block}{Gründe} 1.15 + Design Pattern sind so etwas wie ``Best Practices'' (also bewährte 1.16 + Vorgehensweisen), oft \textbf{nach Vorbildern in der Wirklichkeit} 1.17 + \end{block} 1.18 + \pause 1.19 + \begin{block}{Meine Vorgehensweise} 1.20 + Ich will nun anhand eines Beispiels aus dem täglichen Leben zeigen, dass 1.21 + das Design Pattern ``Observer'' ein absolut natürliches Vorgehen ist, das 1.22 + bei ähnlichen Situationen in Programmen deshalb ebenso verwendet werden 1.23 + sollte. 1.24 + \end{block} 1.25 + 1.26 + % todo: Mehr und ausführlicher; Verweis auf nach dem Vortrag 1.27 + 1.28 +} 1.29 + 1.30 + 1.31 +\section{Erarbeitung des Observers} 1.32 + 1.33 +\frame{ \frametitle{Ein Beispiel} 1.34 + 1.35 + \begin{block}{Die Situation} 1.36 \begin{itemize} 1.37 - \item 1.38 - \item 1.39 - \item 1.40 - \item 1.41 - \item 1.42 + \item Personen die verkaufen möchten 1.43 + \item Personen die kaufen möchten 1.44 + \item Sie wollen/sollen sich nicht kennen 1.45 + \item Möglichst effektives Vorgehen 1.46 \end{itemize} 1.47 \end{block} 1.48 - 1.49 \pause 1.50 - 1.51 - \begin{block}{bb} 1.52 + \begin{block}{Vorschläge?} 1.53 \begin{itemize} 1.54 \item 1.55 \item 1.56 @@ -71,33 +89,124 @@ 1.57 } 1.58 1.59 1.60 +\frame{ \frametitle{Ansatz} 1.61 1.62 -\section{Ansatz} 1.63 + \begin{block}{Mögliche Vorgehen} 1.64 + \begin{itemize} 1.65 + \item Personen direkt ansprechen 1.66 + \item Laut in die Menge rufen 1.67 + \item Den Freunden erzählen, die es dann weitererzählen 1.68 + \end{itemize} 1.69 + \end{block} 1.70 1.71 -\frame{ \frametitle{Bezug zum RL} 1.72 + \pause 1.73 1.74 - \begin{itemize} 1.75 - \item 1.76 - \item 1.77 - \item 1.78 - \item 1.79 - \end{itemize} 1.80 + \begin{block}{Probleme} 1.81 + \begin{itemize} 1.82 + \item Man weiß nicht wer Interesse hat 1.83 + \item nicht mal wieviele 1.84 + \item Manche Interessenten sind vielleicht nur zu bestimmten Zeiten da 1.85 + \item ... oder sie sind taub 1.86 + \end{itemize} 1.87 + \end{block} 1.88 1.89 } 1.90 1.91 1.92 +\frame{ \frametitle{Eine (gute) Lösung: Pinnwand} 1.93 1.94 + \begin{block}{Funktionsweise} 1.95 + \begin{itemize} 1.96 + \item Man kann Zettel anpinnen 1.97 + \item Hingehen und nach neuen Zetteln schauen 1.98 + \item Zettel lesen 1.99 + \item Zettel abnehmen 1.100 + \item Jeder der ein paar Fähigkeiten hat kann es 1.101 + \end{itemize} 1.102 + \end{block} 1.103 1.104 -\subsubsection{Fehlteilmanagement} 1.105 -\frame{ \frametitle{Fehlteilmanagement} 1.106 - %\includegraphics[width=10cm]{Pics/cc.png} 1.107 + \pause 1.108 + 1.109 + \begin{block}{Probleme} 1.110 + \begin{itemize} 1.111 + \item Man muss hingehen, nur um festzustellen, dass nichts Neues dabei ist 1.112 + \item Man kann wichtige Zettel verpassen 1.113 + \item Zettel sollten nicht weggenommen werden können 1.114 + \end{itemize} 1.115 + \end{block} 1.116 + 1.117 } 1.118 1.119 1.120 1.121 -\section{Fazit und Dank} 1.122 + 1.123 +\frame{ \frametitle{Verbesserung: Pinnup-Sekretärin} 1.124 + 1.125 + \begin{block}{Lösung} 1.126 + \begin{itemize} 1.127 + \item Durch Studiengebühren wird eine Sekretärin für die Pinnwand angestellt 1.128 + \item Pinnwand und Sekretärin sind fortan eine Einheit 1.129 + \item Man kann bei ihr einen Zettel in Auftrag geben (auch telefonisch) 1.130 + \item (Sie schreibt mit lesbarer Schrift) 1.131 + \item Sie verhindert, dass Zettel abgenommen werden 1.132 + \end{itemize} 1.133 + \end{block} 1.134 + 1.135 + \pause 1.136 + 1.137 + \begin{block}{Bestehendes Problem} 1.138 + \begin{itemize} 1.139 + \item Man läuft immer noch oft unnötig zur Pinnwand 1.140 + \end{itemize} 1.141 + \end{block} 1.142 + 1.143 +} 1.144 + 1.145 + 1.146 +\frame{ \frametitle{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung} 1.147 + 1.148 + \begin{block}{Lösung} 1.149 + \begin{itemize} 1.150 + \item Durch Studiengebühren wird eine längere Arbeitszeit der Sekretärin finanziert 1.151 + \item Man kann sich bei der Sekretärin nun als ``Interessierter'' registrieren 1.152 + \item Die Sekretärin trägt die Telefonnummer in eine Liste ein 1.153 + \item Fortan ruft sie alle Personen der Liste an, wenn sie einen neuen Zettel anpinnt 1.154 + \end{itemize} 1.155 + \end{block} 1.156 + 1.157 +} 1.158 + 1.159 + 1.160 +% Zusammenfassung des Beispiels: Was haben wir, ist alles abgedeckt 1.161 +% Frage: Sind die Zuhörer zufrieden? Ist die Lösung gut? 1.162 + 1.163 + 1.164 +\section{Nun zum Pattern} 1.165 + 1.166 +\frame { \frametitle{UML-Diagramm des Observers} 1.167 + \includegraphics[width=20em]{pics/observer.png} 1.168 +} 1.169 + 1.170 + 1.171 +% Daten aus der Beschreibung des Observers von GoF 1.172 +% in welche Gruppen wird er eingeordnet 1.173 + 1.174 + 1.175 +% Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo) 1.176 +% nicht aber (Blog + RSS) 1.177 + 1.178 + 1.179 +% Erweiterungen, verbleibende Probleme, Kompromisse beim Design 1.180 + 1.181 + 1.182 +% Erklärung des Vorgehens 1.183 +% Frage: war es erfolgreich? 1.184 + 1.185 + 1.186 + 1.187 +\section{Zusammenfassung} 1.188 \frame{ \frametitle{Zusammenfassend} 1.189 - \begin{block}{Fazit} 1.190 + \begin{block}{Zusammenfassung} 1.191 \begin{itemize} 1.192 \item 1.193 \item 1.194 @@ -107,20 +216,18 @@ 1.195 1.196 \pause 1.197 1.198 - \begin{block}{Dank} 1.199 - \vspace{2ex} 1.200 - 1.201 - \begin{center} 1.202 - Vielen Dank\\ 1.203 - \textbf{dd} 1.204 - \end{center} 1.205 + \begin{block}{Fazit} 1.206 + \begin{itemize} 1.207 + \item 1.208 + \item 1.209 + \item 1.210 + \end{itemize} 1.211 \end{block} 1.212 } 1.213 1.214 1.215 \section{Fragen} 1.216 \frame{ \frametitle{Fragen?} 1.217 - 1.218 \vspace{5ex} 1.219 \centerline{\huge ?} 1.220 } 1.221 @@ -132,7 +239,7 @@ 1.222 \item Debian GNU/Linux 1.223 \item \LaTeX-Beamer und \texttt{pdflatex} 1.224 \item Vim 1.225 - \item gThumb, GIMP und qiv 1.226 + \item qiv und ImageMagick 1.227 \end{itemize} 1.228 \end{block} 1.229 1.230 @@ -143,5 +250,20 @@ 1.231 } 1.232 1.233 1.234 +% Code (Beispiel-Implementierung) 1.235 + 1.236 + 1.237 1.238 \end{document} 1.239 + 1.240 + 1.241 + 1.242 + 1.243 + 1.244 + 1.245 +%\subsubsection{Fehlteilmanagement} 1.246 +%\frame{ \frametitle{Fehlteilmanagement} 1.247 +% %\includegraphics[width=10cm]{Pics/cc.png} 1.248 +%} 1.249 + 1.250 +% \vspace{2ex}