annotate detailed-observer.tex @ 28:ddd8378a539e

did lot of working on detailed-observer
author meillo@marmaro.de
date Thu, 05 Jul 2007 07:53:15 +0200
parents a7ab86cddfad
children f3b4061ec3b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
1 % @file
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
2 % @brief Referat DesignPatterns `Observer'
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
3 % @author markus schnalke <meillo@marmaro.de>
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
4 % @since 2007-05-30
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
5
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
6
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
7 \documentclass[a4paper]{scrartcl}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
8
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
9 \usepackage[utf8]{inputenc}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
10 \usepackage{ngerman}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
11 \usepackage{graphicx}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
12 \usepackage[automark]{scrpage2}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
13
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
14 \setkomafont{sectioning}{\normalfont\normalcolor\bfseries}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
15 \setlength{\parindent}{0em}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
16 \setlength{\parskip}{1.0ex plus 1.0ex minus 0.5ex}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
17 \pagestyle{scrheadings}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
18 \setcounter{tocdepth}{2}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
19
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
20 \begin{document}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
21
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
22
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
23
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
24
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
25
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
26 %%%% Titlepage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
27 \begin{titlepage}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
28 \title{Observer-Pattern}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
29 \author{Markus Schnalke}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
30 \date{2007-07-04}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
31
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
32
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
33 \thispagestyle{empty}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
34
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
35
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
36 \begin{flushright}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
37
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
38 \rule[8cm]{0cm}{0cm}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
39 {\Huge Design Pattern\\ \textbf{Observer}}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
40
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
41 \rule[2cm]{0cm}{0cm}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
42 \textsc{Markus Schnalke\\MatNr: 039131}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
43
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
44 \end{flushright}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
45
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
46
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
47
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
48 \rule[7cm]{0cm}{0cm}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
49
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
50 \textit{Dies ist meine Ausarbeitung zum Design Pattern ``Observer'' im Rahmen der Vorlesung Softwaretechnik im Studiengang Wirtschaftsinformatik an der Hochschule Ulm.}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
51
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
52 {\tiny Dieses Dokument darf gerne zitiert, kopiert und weitergegeben werden. Ich bitte nur darum meinen Namen und einen Verweis auf meine Website (http://marmaro.de) zu erwähnen --- danke! }
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
53
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
54
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
55 \end{titlepage}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
56
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
57
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
58
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
59
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
60 \tableofcontents
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
61
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
62
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
63
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
64
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
65
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
66
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
67
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
68
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
69
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
70
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
71
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
72
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
73
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
74
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
75 %%%% Einleitung %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
76 \newpage
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
77 \section{Einleitung}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
78
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
79 Ich möchte im Folgenden einen Ansatz zum Verstehen von Design Patterns aufzeigen. Dazu nehme ich das Design Pattern ``Observer'', das ich Stück für Stück aus einer Situation der realen Welt herleiten werde. Es geht mir dabei nicht primär darum euch dieses Pattern zu erklären, vielmehr soll das Erfassen des Zusammenhangs zwischen Realität und Design Patterns gefördert werden.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
80
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
81 Mein Ziel ist es die \textit{Natürlichkeit} von Design Patterns darzustellen --- weil sie dem Vorgehen in der Realität entsprechen!
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
82
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
83
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
84
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
85
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
86 \section{Meine Vorgehensweise}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
87
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
88 \begin{quote}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
89 Design Pattern sind ``Best Practices'' (= Erfolgsrezepte), meist \textbf{nach Vorbildern in der Realität}.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
90 \end{quote}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
91
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
92 Aus diesem Grund möchte ich nun anhand eines Beispiels aus dem täglichen Leben zeigen, dass das Design Pattern \textbf{Observer} ein absolut natürliches Vorgehen ist, das bei ähnlichen Situationen in Programmen deshalb ebenso verwendet werden sollte. Dass ich hier gerade das Pattern \textbf{Observer} verwende, hat keinen besonderen Grund; es kann wohl (fast) jedes Pattern auf diese Weise verständlich und logisch gemacht werden.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
93
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
94
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
95
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
96
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
97
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
98
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
99
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
100
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
101
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
102
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
103
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
104
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
105
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
106
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
107
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
108 \newpage
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
109 \section{Erarbeitung des Patterns}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
110
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
111 \subsection{Ausgangssituation}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
112 Meine Ausgangssituation von der ich mich zu einer möglichst optimalen Lösung vorarbeiten möchte ist Folgende:
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
113
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
114 \begin{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
115 \item Es gibt Personen die Etwas verkaufen möchten
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
116 \item Es gibt Personen die Etwas kaufen möchten
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
117 \item Sie wollen/sollen sich nicht kennen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
118 \end{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
119
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
120 Gesucht ist natürlich ein möglichst effektives Vorgehen. Eben das ist der Grund, weshalb wir Patterns verwenden möchten: Wir suchen eine effektive Standardlösung für regelmäßig auftretende Problemstellungen.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
121
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
122
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
123
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
124
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
125 \subsection{Mögliche Ansätze}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
126
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
127 Um systematisch vorzugehen, überlegen wir uns zunächst, welche primitiven Lösungen für unser Problem in Frage kommen. Dies wären zum Beispiel:
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
128 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
129 \item Personen direkt ansprechen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
130 \item Laut in die Menge rufen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
131 \item Den Freunden erzählen, die es dann weitererzählen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
132 \end{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
133
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
134 Vermutlich wäre der Eine oder Andere (unbewusst) gleich höher eingestiegen, dennoch zeigen auch (oder gerade) diese simplen Vorgehensweisen Probleme auf, die sonst kaum explizit wahrgenommen werden.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
135
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
136 Dies sind unter anderem:
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
137
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
138 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
139 \item Man weiß nicht wer Interesse hat
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
140 \item nicht mal wieviele
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
141 \item Manche Interessenten sind vielleicht nur zu bestimmten Zeiten da
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
142 \item (... oder sie sind taub)
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
143 \end{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
144
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
145
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
146
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
147
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
148
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
149 \subsection{Erarbeitung einer Lösung}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
150
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
151 \subsubsection{Eine (gute) Lösung: Pinnwand}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
152
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
153
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
154
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
155 \paragraph{Funktionsweise}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
156 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
157 \item Man kann Zettel anpinnen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
158 \item Hingehen und nach neuen Zetteln schauen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
159 \item Zettel lesen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
160 \item Zettel abnehmen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
161 \item Jeder der ein paar Fähigkeiten hat kann es
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
162 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
163
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
164
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
165
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
166
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
167 \paragraph{Probleme}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
168 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
169 \item Man muss hingehen, nur um festzustellen, dass nichts Neues dabei ist
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
170 \item Man kann wichtige Zettel verpassen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
171 \item Zettel sollten nicht weggenommen werden können
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
172 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
173
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
174
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
175
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
176
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
177
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
178
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
179 \subsubsection{Verbesserung: Pinnwand-Sekretärin}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
180
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
181 \paragraph{Lösung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
182 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
183 \item Durch Studiengebühren wird eine Sekretärin für die Pinnwand angestellt
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
184 \item Pinnwand und Sekretärin sind fortan eine Einheit
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
185 \item Man kann bei ihr einen Zettel in Auftrag geben (auch telefonisch)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
186 \item (Sie schreibt mit lesbarer Schrift)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
187 \item Sie verhindert, dass Zettel abgenommen werden
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
188 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
189
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
190
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
191
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
192
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
193 \paragraph{Bestehendes Problem}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
194 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
195 \item Man läuft immer noch oft unnötig zur Pinnwand
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
196 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
197
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
198
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
199
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
200
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
201 \subsubsection{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
202
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
203 \paragraph{Lösung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
204 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
205 \item Durch Studiengebühren wird eine längere Arbeitszeit der Sekretärin finanziert
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
206 \item Man kann sich bei der Sekretärin nun als ``Interessierter'' registrieren
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
207 \item Die Sekretärin trägt die Telefonnummer in eine Liste ein
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
208 \item Zukünftig ruft sie alle Personen der Liste an, wenn sie einen neuen Zettel anpinnt
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
209 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
210
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
211
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
212
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
213
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
214 \subsection{Zusammenfassung des Beispiels}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
215
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
216 \paragraph{Pinnwand + Sekretärin + Benachrichtigung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
217 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
218 \item Man kann neue Zettel anpinnen lassen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
219 \item Man kann sich als Interessierter anmelden (und auch abmelden)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
220 \item Interessierte werden bei Änderungen der Pinnwand benachrichtigt
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
221 \item Sie können dann zur Pinnwand gehen und sie sich anschauen
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
222 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
223
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
224
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
225
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
226
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
227 \paragraph{Eure Meinung?}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
228 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
229 \item Ist diese Struktur zufriedenstellend?
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
230 \item Erfüllt sie alle Anforderungen?
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
231 \item Was fehlt?
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
232 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
233
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
234
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
235
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
236
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
237
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
238
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
239
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
240
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
241
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
242
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
243
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
244
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
245
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
246
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
247
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
248
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
249
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
250
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
251
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
252
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
253
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
254
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
255
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
256 \newpage
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
257 \section{Das Pattern}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
258
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
259
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
260 \subsection{Überleitung}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
261
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
262 \paragraph{Neue Namen}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
263 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
264 \item Pinnwand-Sekretärin-Einheit $\rightarrow$ ``Subject''
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
265 \item Die Zettel auf der Pinnwand $\rightarrow$ ``subjectState''
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
266 \item Interessenten $\rightarrow$ ``Observers''
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
267 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
268
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
269 \paragraph{Schnittstellen}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
270 Die Fähigkeiten der Pinnwand/Sekretärin und Interessenten sind ihre ``Interfaces''.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
271
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
272 (vgl: taub, minimale Fähigkeiten, leserliche Schrift, ...)
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
273
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
274
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
275
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
276
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
277 \subsection{UML-Diagramme}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
278 \subsubsection{Struktur-Diagramm des Observers}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
279
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
280 \begin{figure}[hbt]
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
281 \centering
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
282 \includegraphics[width=12cm]{pics/observer_big.png}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
283 \caption{Struktur-Diagramm des Observers}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
284 \end{figure}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
285
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
286
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
287
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
288 \subsubsection{Interaktions-Diagramm des Observers}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
289 \begin{figure}[hbt]
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
290 \centering
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
291 \includegraphics[width=12cm]{pics/observer-interaction_big.png}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
292 \caption{Interaktions-Diagramm des Observers}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
293 \end{figure}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
294
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
295
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
296
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
297
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
298 % Daten aus der Beschreibung des Observers von GoF
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
299 % in welche Gruppen wird er eingeordnet
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
300 \subsubsection{Klassifizierung nach GoF}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
301
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
302 \paragraph{Klassifizierung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
303 Verhaltensmuster, objektbasierend
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
304
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
305
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
306 \paragraph{Auch bekannt als}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
307 Publish-Subscribe, Dependents
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
308
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
309
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
310 \paragraph{Zweck}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
311 Abhängigkeiten zwischen Objekten zu erstellen, sodass sich abhängige Objekte ändern, wenn sich das Objekt selbst ändert.
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
312 % todo: besser formulieren
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
313
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
314
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
315 \paragraph{Kurzbeschreibung}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
316 Schnittstellen anlegen, um Abhängigkeiten zwischen Objekten registriert
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
317 werden können, und um die abhängigen Objekte über Zustandsänderungen zu
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
318 informieren.
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
319 % todo: Formulierung überdenken
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
320
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
321
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
322
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
323
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
324
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
325 \subsection{Beispiele für den Observer in der Praxis}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
326 % Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
327 % nicht aber (Blog + RSS)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
328
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
329 \paragraph{Beispiele}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
330 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
331 \item Observer ist sehr verbreitet
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
332 \item v.a. MVC (Model = Subject; View = Observer)
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
333 \item Mailinglisten
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
334 \item Ebay Such-Abo
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
335 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
336
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
337
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
338 \paragraph{Aber}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
339 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
340 \item nicht Blog mit RSS-Feed!
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
341 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
342
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
343
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
344
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
345
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
346
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
347
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
348
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
349 %\subsection{Erweiterungen}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
350 %% Erweiterungen, verbleibende Probleme, Kompromisse beim Design
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
351 \subsection{Mögliche Erweiterungen des Patterns}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
352
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
353 \paragraph{Ein Observer und mehrere Subjects}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
354 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
355 \item Der Name des Subjects muss mitgesendet werden.
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
356 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
357
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
358
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
359 \paragraph{Nur für bestimmte Informationen anmelden}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
360 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
361 \item Oberservers melden sich nur für bestimmte Informationen an
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
362 \item Es werden weniger uninteressante Updates gesendet
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
363 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
364
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
365
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
366 \paragraph{UpdateManager}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
367 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
368 \item Bei komplexen Update-Zusammenhängen empfehlenswert
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
369 \item vermittelt zwischen Subject und Observer
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
370 \item (Mehr dazu in der Ausarbeitung)
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
371 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
372
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
373
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
374
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
375
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
376 \paragraph{Wer ruft notify() auf?}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
377
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
378 \subparagraph{Das Subject}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
379 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
380 \item[+] notify() wird sicher bei jedem setState() aufgerufen
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
381 \item[-] hohe Update-Kosten bei Änderungen en-block
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
382 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
383
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
384
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
385 \subparagraph{Der Observer}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
386 \begin{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
387 \item[+] intelligenter Zeitpunkt des notify()-Aufrufs möglich
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
388 \item[-] der Client darf den notify()-Aufruf nicht vergessen
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
389 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
390
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
391
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
392
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
393
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
394
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
395
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
396
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
397
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
398
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
399
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
400
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
401
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
402
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
403
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
404
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
405
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
406
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
407
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
408
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
409
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
410
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
411
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
412
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
413
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
414 \newpage
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
415 \section{Zusammenfassung}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
416 %\textbf{Zusammenfassend}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
417 \paragraph{Zusammenfassung}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
418 \begin{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
419 \item Menschen denken basierend auf der Realität
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
420 \item deshalb Design Patterns auf Realität zurückführen
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
421 \item Patterns anwenden weil man es in der Realität auch so machen würde
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
422 \end{itemize}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
423
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
424
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
425
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
426
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
427
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
428 Erklaerung des Vorgehens
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
429 Frage: war es erfolgreich?
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
430 \textbf{}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
431
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
432 \paragraph{}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
433
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
434
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
435
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
436
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
437 \section{Abschließend}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
438 \paragraph{Verwendete Software}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
439 \begin{itemize}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
440 \item Debian GNU/Linux
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
441 \item \LaTeX-Beamer und \texttt{pdflatex}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
442 \item Vim
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
443 \item qiv und ImageMagick
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
444 \item Mercurial
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
445 \end{itemize}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
446
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
447
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
448 \paragraph{}
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
449 \vspace{3ex}
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
450 \centerline{\textbf{Danke für eure Aufmerksamkeit}}
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
451
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
452
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
453
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
454
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
455
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
456
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
457
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
458
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
459 \appendix
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
460
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
461 \section{Code}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
462 \textbf{Code? --- Nein, kein Code!}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
463 \paragraph{Denn}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
464 \begin{center}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
465 \textbf{ Implementierungen sind Schall und Rauch,\\
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
466 Konzepte dagegen bleiben bestehen! }
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
467 \end{center}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
468
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
469
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
470 \vspace{4ex}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
471 {\scriptsize
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
472 \paragraph{}
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
473 \textit{ Beispiel-Implementierung in der Ausarbeitung. }
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
474
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
475 }
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
476
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
477
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
478
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
479
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
480
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
481
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
482
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
483
11
a7ab86cddfad added other parts but with few content yet
meillo@marmaro.de
parents:
diff changeset
484
28
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
485
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
486
ddd8378a539e did lot of working on detailed-observer
meillo@marmaro.de
parents: 11
diff changeset
487 \end{document}