und dies erinnert mich irgendwie an HyperJ? von IBM: http://www.alphaworks.ibm.com/tech/hyperj |
und dies erinnert mich irgendwie an HyperJ? von IBM: http://www.alphaworks.ibm.com/tech/hyperj. :Und mich erinnert dies an das in den letzten Jahren zunehmend diskutierte FeatureOrientedProgramming FOP --kg |
Informationen: http://aosd.net/ |
Informationen: * Aspektorientierte Programmierung (Wikipedia) * http://aosd.net/ |
Zum Beispiel die Spezifikation der Anforderung: "Jeder Aufruf einer Methode in diesem Package muss protokolliert werden." ist kompakt und einfach. Deren Umsetzung ist es in klassichen OOP Sprachen nicht. Um dies z.B. in Java zu implementieren muss jede Klasse in dem betroffenem Package geändert werden. So wird dieser Aspekt über den gesammten Quelltext verteilt und mit anderen Aspekten vermischt (denn die Methoden haben ja auch anderes zu tun).
AOP versucht dies zu lösen, indem es diese Verwebung der Aspekte einem CodeGenerator? oder CodeWeaver? überlässt. In AOP werden also die Klassen nicht wie in der klassischen OOP zusammenhängend programmiert, sondern nach Aspekten getrennt. Ein Aspekt kann dabei mehrere Klassen betreffen und eine Klasse kann duch mehrere Aspekte beinflusst werden.
|
und dies erinnert mich irgendwie an HyperJ? von IBM: http://www.alphaworks.ibm.com/tech/hyperj.
Informationen:
Implementierung auf Grundlage von C++: http://www.aspectc.org/