docs/DesignPatterns

changeset 4:ba98bb97db06

added: Beispiel Zusammenfassung, Ueberleitung, Beschreibung von GoF
author meillo@marmaro.de
date Sun, 03 Jun 2007 19:26:33 +0200
parents 0923f2ae50a5
children 00d57081e389
files main.tex
diffstat 1 files changed, 101 insertions(+), 3 deletions(-) [+]
line diff
     1.1 --- a/main.tex	Fri Jun 01 17:47:47 2007 +0200
     1.2 +++ b/main.tex	Sun Jun 03 19:26:33 2007 +0200
     1.3 @@ -67,6 +67,7 @@
     1.4  
     1.5  
     1.6  \section{Erarbeitung des Observers}
     1.7 +\subsection{Ansatz}
     1.8  
     1.9  \frame{ \frametitle{Ein Beispiel}
    1.10  
    1.11 @@ -113,6 +114,9 @@
    1.12  }
    1.13  
    1.14  
    1.15 +
    1.16 +\subsection{Erarbeitung einer Lösung}
    1.17 +
    1.18  \frame{ \frametitle{Eine (gute) Lösung: Pinnwand}
    1.19  
    1.20    \begin{block}{Funktionsweise}
    1.21 @@ -140,7 +144,7 @@
    1.22  
    1.23  
    1.24  
    1.25 -\frame{ \frametitle{Verbesserung: Pinnup-Sekretärin}
    1.26 +\frame{ \frametitle{Verbesserung: Pinnwand-Sekretärin}
    1.27  
    1.28    \begin{block}{Lösung}
    1.29    \begin{itemize}
    1.30 @@ -163,7 +167,7 @@
    1.31  }
    1.32  
    1.33  
    1.34 -\frame{ \frametitle{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung}
    1.35 +\frame{ \frametitle{2. Verbesserung: Pinnup-Sekretärin mit Benachrichtigung}
    1.36  
    1.37    \begin{block}{Lösung}
    1.38    \begin{itemize}
    1.39 @@ -177,30 +181,124 @@
    1.40  }
    1.41  
    1.42  
    1.43 +\subsection{Zusammenfassung}
    1.44 +
    1.45  % Zusammenfassung des Beispiels: Was haben wir, ist alles abgedeckt
    1.46  % Frage: Sind die Zuhörer zufrieden? Ist die Lösung gut?
    1.47 +\frame{ \frametitle{Zusammenfassung des Beispiels}
    1.48 +
    1.49 +  \begin{block}{Pinnwand + Sekretärin + Benachrichtigung}
    1.50 +    \begin{itemize}
    1.51 +      \item Man kann neue Zettel anpinnen lassen
    1.52 +      \item Man kann sich als Interessierter anmelden (und auch abmelden)
    1.53 +      \item Interessierte werden bei Änderungen der Pinnwand benachrichtigt
    1.54 +      \item Sie können dann zur Pinnwand gehen und sie sich anschauen
    1.55 +    \end{itemize}
    1.56 +  \end{block}
    1.57 +
    1.58 +  \pause
    1.59 +
    1.60 +  \begin{block}{Eure Meinung?}
    1.61 +    \begin{itemize}
    1.62 +      \item Ist diese Struktur zufriedenstellend?
    1.63 +      \item Erfüllt sie alle Anforderungen?
    1.64 +      \item Was fehlt?
    1.65 +    \end{itemize}
    1.66 +  \end{block}
    1.67 +
    1.68 +}
    1.69 +
    1.70 +
    1.71 +
    1.72 +
    1.73  
    1.74  
    1.75  \section{Nun zum Pattern}
    1.76  
    1.77 +
    1.78 +\frame{ \frametitle{Überleitung}
    1.79 +
    1.80 +  \begin{block}{Neue Namen}
    1.81 +    \begin{itemize}
    1.82 +      \item Pinnwand-Sekretärin-Einheit -> ``Subject''
    1.83 +      \item Die Zettel auf der Pinnwand -> ``subjectState''
    1.84 +      \item Interessenten -> ``Observers''
    1.85 +    \end{itemize}
    1.86 +  \end{block}
    1.87 +
    1.88 +  \pause
    1.89 +
    1.90 +  \begin{block}{Schnittstellen}
    1.91 +    Die Fähigkeiten die Pinnwand/Sekretärin und Interessenten haben müssen um in diesem Schema korrekt zu funktionieren sind ihre ``Interfaces''.
    1.92 +  \end{block}
    1.93 +
    1.94 +}
    1.95 +
    1.96 +
    1.97  \frame { \frametitle{UML-Diagramm des Observers}
    1.98 -    \includegraphics[width=20em]{pics/observer.png}
    1.99 +  \centerline{ \includegraphics[width=20em]{pics/observer.png} }
   1.100  }
   1.101  
   1.102  
   1.103  % Daten aus der Beschreibung des Observers von GoF
   1.104  % in welche Gruppen wird er eingeordnet
   1.105 +\frame{ \frametitle{Beschreibung des Observers}
   1.106 +
   1.107 +  \begin{block}{Klassifizierung}
   1.108 +    Verhaltensmuster, objektbasierend
   1.109 +  \end{block}
   1.110 +
   1.111 +  \begin{block}{Auch bekannt als}
   1.112 +    Publish-Subscribe, Dependents
   1.113 +  \end{block}
   1.114 +
   1.115 +  \begin{block}{Zweck}
   1.116 +    Abhängigkeiten zwischen Objekten zu erstellen, sodass sich abhängige Objekte ändern, wenn sich das Objekt selbst ändert.
   1.117 +    % todo: besser formulieren
   1.118 +  \end{block}
   1.119 +
   1.120 +  \begin{block}{Kurzbeschreibung}
   1.121 +    Schnittstellen anlegen, um Abhängigkeiten zwischen Objekten registriert
   1.122 +    werden können, und um die abhängigen Objekte über Zustandsänderungen zu
   1.123 +    informieren.
   1.124 +    % todo: Formulierung überdenken
   1.125 +  \end{block}
   1.126 +
   1.127 +}
   1.128  
   1.129  
   1.130  % Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo)
   1.131  % nicht aber (Blog + RSS)
   1.132 +\frame{ \frametitle{Beispiele}
   1.133 +
   1.134 +  \begin{block}{}
   1.135 +  \end{block}
   1.136 +
   1.137 +  \pause
   1.138 +
   1.139 +  \begin{block}{}
   1.140 +  \end{block}
   1.141 +
   1.142 +}
   1.143  
   1.144  
   1.145  % Erweiterungen, verbleibende Probleme, Kompromisse beim Design
   1.146 +\frame{ \frametitle{}
   1.147 +
   1.148 +  \begin{block}{}
   1.149 +  \end{block}
   1.150 +
   1.151 +}
   1.152  
   1.153  
   1.154  % Erklärung des Vorgehens
   1.155  % Frage: war es erfolgreich?
   1.156 +\frame{ \frametitle{}
   1.157 +
   1.158 +  \begin{block}{}
   1.159 +  \end{block}
   1.160 +
   1.161 +}
   1.162  
   1.163  
   1.164