Aspekte

Übungen zu Kapitel 7

  1. Führen Sie einen "AbstractLoggingAspect" ein, der über einen abstrakten Pointcut "logPoints" das Logging übernimmt. Leiten Sie "PlayerLogging" davon ab, um den Einsatz des Spielers sowie den erzielten Gewinn zu protokollieren.
    Tipp:
    Entfernen Sie die beiden Aspekte "SimplePlayerAspect" und "RiskyPlayerAspect" wieder aus dem Projekt, da sie die Methode "getEinsatz()" u.U. austauschen -- damit wird aber die Original-Methode nicht mehr aufgerufen und ein Pointcut darauf käme nicht zum Einsatz.
  2. Neben dem Joinpoint soll auch der Rückgabewert und die übergebenen Parameter ausgegeben werden. Passen Sie AbstractLoggingAspect entsprechend an.
  3. Leiten Sie einen weiteren Aspekt "RouletteLogging" ab, der über jeden Kugel-Wurf Buch führt.
  4. Damit für die Log-Aspekte unterschiedliche Logger verwendet werden können, fügen Sie in AbstractLoggingAspect eine abstrakte Methode "getLogger()" ein, die von den abgeleiteten Aspekten bereitgestellt werden muss.
  5. Erzeugen Sie zwei Spieler mit unterschiedlichen Spielstrategien und starten Sie sie jeweils in einem eigenen Thread.
  6. Messen Sie, wie oft jeder Spieler gewonnen hat (d.h. seinen Einsatz erhöhen konnte) und wie oft er verloren hat. Geben Sie diese Information sowie den Gesamt-Gewinn bzw. -Verlust am Ende aus.

    hier geht es zu den Lösungen...


letzte Änderung: 18. Januar 2005 von Oli B.