docs/DesignPatterns
diff detailed-observer.tex @ 31:f567cec0d755
modified Erweiterungen; modified images; tocdepth=3
author | meillo@marmaro.de |
---|---|
date | Sat, 04 Aug 2007 17:47:00 +0200 |
parents | 8bdd4e54885e |
children | 3d6e01222e28 |
line diff
1.1 --- a/detailed-observer.tex Sat Aug 04 16:42:40 2007 +0200 1.2 +++ b/detailed-observer.tex Sat Aug 04 17:47:00 2007 +0200 1.3 @@ -15,7 +15,7 @@ 1.4 \setlength{\parindent}{0em} 1.5 \setlength{\parskip}{1.0ex plus 1.0ex minus 0.5ex} 1.6 \pagestyle{scrheadings} 1.7 - \setcounter{tocdepth}{2} 1.8 + \setcounter{tocdepth}{3} 1.9 1.10 \begin{document} 1.11 1.12 @@ -270,20 +270,18 @@ 1.13 1.14 Um das Pattern darzustellen bieten sich UML-Diagramme an. 1.15 1.16 - \subsubsection{Struktur-Diagramm des Observers} 1.17 1.18 \begin{figure}[hbt] 1.19 \centering 1.20 - \includegraphics[width=12cm]{pics/observer_big.png} 1.21 + \includegraphics[width=8cm]{pics/observer_big.png} 1.22 \caption{Struktur-Diagramm des Observers} 1.23 \end{figure} 1.24 1.25 1.26 1.27 - \subsubsection{Interaktions-Diagramm des Observers} 1.28 \begin{figure}[hbt] 1.29 \centering 1.30 - \includegraphics[width=12cm]{pics/observer-interaction_big.png} 1.31 + \includegraphics[width=8cm]{pics/observer-interaction_big.png} 1.32 \caption{Interaktions-Diagramm des Observers} 1.33 \end{figure} 1.34 1.35 @@ -343,43 +341,41 @@ 1.36 1.37 1.38 1.39 + 1.40 %\subsection{Erweiterungen} 1.41 %% Erweiterungen, verbleibende Probleme, Kompromisse beim Design 1.42 -\subsection{Mögliche Erweiterungen des Patterns} 1.43 +\subsection{Erweiterungen des Patterns} 1.44 1.45 - \paragraph{Ein Observer und mehrere Subjects} 1.46 - \begin{itemize} 1.47 - \item Der Name des Subjects muss mitgesendet werden. 1.48 - \end{itemize} 1.49 + \subsubsection{Ein Observer und mehrere Subjects} 1.50 + Oft ist es nicht nur ein einziges Subject, das beobachtet werden soll. Damit ein Observer mehrere Subjects beobachten kann, muss er den Namen des Subjects mitsenden. So kann festgestellt werden welches Subject betroffen ist. 1.51 1.52 1.53 - \paragraph{Nur für bestimmte Informationen anmelden} 1.54 - \begin{itemize} 1.55 - \item Oberservers melden sich nur für bestimmte Informationen an 1.56 - \item Es werden weniger uninteressante Updates gesendet 1.57 - \end{itemize} 1.58 + \subsubsection{Nur für bestimmte Informationen anmelden} 1.59 + Eine weitere kleine Erweiterung ist die Anmeldung am Subject für nur bestimmte Informationen. Dies ist sicher auch eine Ergänzung die unsere Pinnwand verbesser hätte. So wäre es dann möglich gewesen sich nur für Zimmerangebote oder ähnliches anzumelden. 1.60 + \item Oberservers melden sich nur für bestimmte Informationen an 1.61 + \item Es werden weniger uninteressante Updates gesendet 1.62 1.63 1.64 - \paragraph{UpdateManager} 1.65 - \begin{itemize} 1.66 - \item Bei komplexen Update-Zusammenhängen empfehlenswert 1.67 - \item vermittelt zwischen Subject und Observer 1.68 - \item (Mehr dazu in der Ausarbeitung) 1.69 - \end{itemize} 1.70 + \subsubsection{UpdateManager} 1.71 + \begin{itemize} 1.72 + \item Bei komplexen Update-Zusammenhängen empfehlenswert 1.73 + \item vermittelt zwischen Subject und Observer 1.74 + \item (Mehr dazu in der Ausarbeitung) 1.75 + \end{itemize} 1.76 1.77 1.78 1.79 1.80 - \paragraph{Wer ruft notify() auf?} 1.81 + \subsubsection{Wer ruft notify() auf?} 1.82 1.83 - \subparagraph{Das Subject} 1.84 + \paragraph{Das Subject} 1.85 \begin{itemize} 1.86 \item[+] notify() wird sicher bei jedem setState() aufgerufen 1.87 \item[-] hohe Update-Kosten bei Änderungen en-block 1.88 \end{itemize} 1.89 1.90 1.91 - \subparagraph{Der Observer} 1.92 + \paragraph{Der Observer} 1.93 \begin{itemize} 1.94 \item[+] intelligenter Zeitpunkt des notify()-Aufrufs möglich 1.95 \item[-] der Client darf den notify()-Aufruf nicht vergessen