netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-03-22 [長年日記] ▲
_ AOSD3日目(本会議1日目) ▲
オブジェクト間の関連(クラス図における association)を,Java Generics の型パラメータを使ったアスペクトで実装したら,アスペクトを好きなクラス間で関連を持たせることができて(そのためのメンバ変数を各クラスに持たせずに済み),パフォーマンスも悪くない,という話をしている人がいた.
The Relationship Aspect Libraryとして公開しているらしい.
このライブラリは,クラス C1, C2 に対して関連がただ1つしかない場合には,たぶん有効.逆に,たとえば,Student, Professor に「授業履修」という関連と「研究室所属」という別個の関連を同時に持たせようとすると,Relation<Student, Professor>の関連インスタンスが2つ必要になるので,AspectJ のインタータイプ宣言では,関連情報を保存するフィールドの名前が衝突してしまう気がする.あくまでAspectJのアスペクト継承で実装した場合の問題なので,コード生成ツール(XVCLとか)を使って,雛形アスペクトから名前衝突を起こさないようなアスペクト生成をすればOKだとは思うけど.