changeset 33:97b57d24fd7b

added sample code; modified summary
author meillo@marmaro.de
date Fri, 10 Aug 2007 22:15:51 +0200
parents 3d6e01222e28
children b2cefbd90180
files code/observer-example.java detailed-observer.tex
diffstat 2 files changed, 63 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/code/observer-example.java	Fri Aug 10 22:15:51 2007 +0200
@@ -0,0 +1,31 @@
+        import java.util.Observable;
+        import java.util.Observer;
+
+        public class MessageBoard extends Observable {
+          private String message;
+
+          public String getMessage() {
+            return message;
+          }
+
+          public void changeMessage(String message) {
+            this.message = message;
+            setChanged();
+            notifyObservers(message);
+          }
+
+          public static void main(String[] args) {
+            MessageBoard board = new MessageBoard();
+            Student bob = new Student();
+            Student joe = new Student();
+            board.addObserver(bob);
+            board.addObserver(joe);
+            board.changeMessage("More Homework!");
+          }
+        }
+
+        class Student implements Observer {
+          public void update(Observable o, Object arg) {
+            System.out.println("Message board changed: " + arg);
+          }
+        }
--- a/detailed-observer.tex	Mon Aug 06 02:25:32 2007 +0200
+++ b/detailed-observer.tex	Fri Aug 10 22:15:51 2007 +0200
@@ -9,6 +9,7 @@
   \usepackage[utf8]{inputenc}
   \usepackage{ngerman}
   \usepackage{graphicx}
+  \usepackage{listings}
   \usepackage[automark]{scrpage2}
 
   \setkomafont{sectioning}{\normalfont\normalcolor\bfseries}
@@ -387,25 +388,50 @@
 
 
 \newpage
+
 \section{Zusammenfassung}
  %\textbf{Zusammenfassend}
-  \paragraph{Zusammenfassung}
+  
+  Ich habe in meiner Ausarbeitung bisher ganz bewusst auf Quellcode verzichtet, denn ich wollte vermitteln weshalb das Observer-Pattern so aufgebaut ist wie es ist. Ich wollte Verständnis für Design Patterns entwickeln und zeigen, dass sie absolut logische Lösungen sind.
+
+  Design Patterns sind dabei Modelle wie Quellcode aufgebaut werden sollte. Sie sind kein Code --- sie beschreiben nur wie Code sein sollte. Das ist auch ganz gut so, denn:
+
+  \begin{quote}
+    \textbf{ Implementierungen sind Schall und Rauch,\\ 
+    Konzepte dagegen bleiben bestehen!  }
+  \end{quote}
+
+  Aus diesem Grund will ich mich mit Quelltext auf dieses Beispiel im Anhang beschränken. Dennoch finde ich es wichtig, doch zumindest eine Beispiel-Implementierung vorzeigen zu können, da Quellcode sehr aussagekräftig sein kann. In jeden Fall wird er meine sonstigen Ausführungen gut abrunden.
+
+
+  \paragraph{In drei Sätzen:}
     \begin{itemize}
       \item Menschen denken basierend auf der Realität
       \item deshalb Design Patterns auf Realität zurückführen
       \item Patterns anwenden weil man es in der Realität auch so machen würde
     \end{itemize}
-  
+
+
+
+
+
+\appendix
+
+\newpage
+
+\section{Beispiel-Implementierung}
+
+  {\scriptsize
+    \lstinputlisting[language=java]{code/observer-example.java}
+  }
+  \flushright{ \tiny Quellcode von http://java2s.com }
 
 
 
 
 
 
-
-
-\section{Abschließend}
-  \paragraph{Verwendete Software}
+\section{Verwendete Software}
   \begin{itemize}
     \item Debian GNU/Linux
     \item \texttt{pdflatex}
@@ -419,21 +445,4 @@
 
 
 
-
-
-\appendix
-
-\section{Code}
-  \textbf{ Implementierungen sind Schall und Rauch,\\ Konzepte dagegen bleiben bestehen!  }
-
-
-
-
-
-
-
-
-
-
-
 \end{document}