In gwScript streut man keinen Code, sondern propagiert nur Bezeichner, die für den Aspekt geeignet sind. Innerhalb der applytemplate-Klammer legt man dann den Code fest, der um den Bezeichner herum gebaut wird. Code injection halte ich selbst für fragwürdig, da man dann die innere Struktur des Zielcodes kennen muss und sich dieser möglichst wenig ändern darf.CodingCat hat geschrieben:Noch immer leuchtet mir in Bezug auf aspektorientierte Programmierung jedoch nicht ein, wieso ich allgemein Code in die Methoden unzähliger Klassen streuen sollte. Instrumentierung und Tracing mal beiseite, wo soll das nützlich sein? Code, der automatisch in jede Methode gestreut werden muss, gehört doch ziemlich sicher überhaupt nicht dorthin, sondern entweder eine Ebene höher oder tiefer?!
Aber eine Frage: wie implementiert ihr die Interface-Pools in C++? Da müsste man ja einen Meta-Header aufbauen, der alle verwendeten Header lädt, die die Definitionen enthalten.