More AspectJ + @
Attribute or annotation or tag or @ の情報を利用して、AspectJ のソースコードを生成するヤツの続き。
以前に書いたもの(ArchJava と Traits)に加えて、次のようなものも実装できるかも、と思い中:
- Role
- Rule
- Virtual Class
- Delegation
具体的に、実装可能かどうか(&役に立つかどうか)は不明だけど、試してみようと思い中。それに、これだけ似たようなことをやれば、共通性とかも見えてくると思う。
参考:
Rule 関係ではインスピレーションのネタ元は、
Maja D'Hondt and Viviane Jonckers.
Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-Based Knowledge.
Proceedings of the Third International Conference on Aspect-Oriented Software Development (AOSD 2004)
DL: http://codehaus.org/~jboner/papers/
Virtual Class 関連では:
Klaus Ostermann.
Dynamically Composable Collaborations with Delegation Layers.
ECOOP 2002 - Object-Oriented Programming, LNCS 2374, pages 90-110.
DL: http://www.st.informatik.tu-darmstadt.de/public/Publications.jsp
AspectJ で Virtual Class をシミュレートしようという試みについては、僕の
AspectJ Tips: Virtual Class
http://www.ncfreak.com/asato/doc/aspectj-virtualclass.html
Role と Delegation 関係では、特になし(あるかもしれないけど、どれが関連するのか不明)。