Pre-Initialization

banshee

Bekanntes Mitglied
Hallo,

im Zusammenhang mit AspectJ bin ich auf diesen Begriff gestoßen. Hat jemand eine Ahnung, was das sein soll, bzw. wie es sich zu einer normalen Initialisierung abgrenzt?
 
G

Gast2

Gast
Klingt für mich nach dem Pointcut kurz bevor das Programm ein Object initialisiert. Wenn du über AOP dann reinspringen willst wäre das der richtige Zeitpunkt.
 

banshee

Bekanntes Mitglied
Ja, das klingt in der Tat ziemlich logisch. Wenn wir schon dabei sind, gleich noch eine AspectJ-Frage :)

Java:
pointcut stateChange(Thing t) :
		target(t) && execution(public void setState(String, String));[code=Java]

Sagen wir, ich hab diesen Pointcut und jetzt führe ich eine weitere Klasse Thing2 ein, die die gleichen Methoden hat wie Thing2. Wie erweitere ich jetzt diesen Pointcut, damit er auch mit Thing2 funktioniert? Wenn der Parameter nicht wäre, würde ich ganz stumpf erstmal

[code=Java]pointcut stateChange() :
		target(Ting) || target(Thing2) && execution(public void setState(String, String));[code=Java]

sagen, aber gibts für den Parameter da eine wildcard? Die zweite Möglichkeit wären einfach Annotation-basierte Pointcuts und drittens würde mir noch einfallen, Thing und Thing2 mit einem Interface zu vereinigen, wenn es offensichtlich sehr ähnliche Klassen sind.
 
G

Gast2

Gast
drittens würde mir noch einfallen, Thing und Thing2 mit einem Interface zu vereinigen, wenn es offensichtlich sehr ähnliche Klassen sind.

Wäre meiner Einschätzung nach das sauberste. Sonst vergleichst du Äpfel und Birnen. Warum solltest du auf ein Statechange bei einem Apfel genauso reagieren wie bei einer Birne - wo sie doch nichts gemeinsam haben (Zumindest weiß dein Programm da ja nichts von)? Erst wenn du weißt das beides vom Typ Obst is und der state in "vergammelt" wechselt kannst du mit Sicherheit bei Apfel wie bei der Binre sagen das sie hinüber ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Initialization Block? Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben