Folgende Beispiel-Programme finden sich in diesem Verzeichnis:
Verzeichnis | Kap. | Beschreibung | s.a. |
---|---|---|---|
1JavaAmpel | 12.1.1 | eine Java-Ampel als Beispiel für ein Observer-Pattern | Observer-Pattern |
2AjAmpel | 12.1.2 | Observer-Pattern, jetzt mit Hilfe von AspectJ realisiert (Interface-Lösung, ohne Enums und Java 5) | Observer-Pattern |
3Aj5Ampel | 12.1.2 | Observer-Pattern, mit AspectJ und Java 5 realisiert (Annotation-Lösung) | Observer-Pattern |
4LibAmpel | 12.2 | das Ampel-Beispiel, dieses Mal unter Zuhilfenahme der Design Pattern Examples realisiert | |
5AntiPattern | 12.3 | Beispiel für einige "Anti-Patterns" | |
6WebRobot | 12.4 | ein kleiner Web-Roboter als Beispiel für AspectJ-Patterns | AspectJ-Pattern |
Design Pattern Examples | 12.2 | eine fertige Bibliothek mit allen 23 GoF-Patterns von http://www.cs.ubc.ca/~jan/AODPs/ |
In den verwendeten Beispielen 1JavaAmpel, 2AjAmpel und 3Aj5Ampel gibt es jeweils eine verkehrs.Main-Klasse, mit der die Programme gestartet werden können.
Wenn
Robot1,
Robot2 und
Robot3
ohne Parameter aufgerufen werden, versuchen Sie einen lokalen Ping
gegen den Webserver auf dem eigenen Rechner (localhost) abzusetzen.
Starten Sie dazu am besten einen lokalen Apache oder ähnliches.
Alternativ können sie auch einen Rechner als Parameter angeben
(z.B. http://www.aosd.de).
Vor allem hier können die Lösungen mit dem
SocketPool
ihre Vorteile ausspielen.