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