Tipps
Übungen zu Kapitel 13
- Suchen Sie in Ihrer Roulette-Anwendung nach Methoden, die die
30-Sekunden-Regel verletzen. Teilen Sie sie in kleinere Methoden auf.
- Machen Sie in der Player- und der Roulette-Klasse die Attribute
"public" und verzichten auf Setter- und Getter-Methoden.
Überwachen Sie den Zugriff darauf über entsprechende Advices.
- Der letzte Wurf der Roulette-Kugel wird im "wurf"-Attribut
gespeichert. Verhindern Sie, dass andere Klassen außer Roulette
dieses Attribut manipulieren dürfen. Gestatten Sie nur Ausnahmen
zu Test-Zwecke.
- Manipulieren Sie zum Testen die werfeKugel()-Methode: zuerst soll
sie die geraden Zahlen von 0 bis 36 liefern, anschießend die
ungerade Zahlen (1 bis 35).
- Welche Vorbedingungen müssen für die Konto.abheben()-
und einzahlen()-Methode gelten? Drücken Sie dies und mögliche
Nachbedingungen für diese beiden Methoden in Form eines Advices im
KontoAspect aus.
- Erstellen Sie einen Aspekt "ParanoiaLogging", über den Sie
sowohl die Ausführung, als auch den Aufruf aller Methoden
protokollieren. Beziehen Sie im Call-Pointcut auch alle Methoden des
JDKs und aller verwendeten Bibliotheken mit ein.
- Entwickeln Sie einen Aspekt, der Alarm schlägt und den
Garbage-Collector aufruft, wenn der freie Speicher sich halbiert hat.
hier geht es
zu den Lösungen...
letzte Änderung: 21. August 2005 von Oli B.