Tipps

Übungen zu Kapitel 13

  1. Suchen Sie in Ihrer Roulette-Anwendung nach Methoden, die die 30-Sekunden-Regel verletzen. Teilen Sie sie in kleinere Methoden auf.
  2. 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.
  3. 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.
  4. 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).
  5. 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.
  6. 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.
  7. 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.