ブログさぼってますが、元気です。 S2Swing の kaiseh さんのところでの議論がけっこう面白いので、こちらでも少し書きます。 簡単におさらいすると、フレームワークを作るとき、フレームワークからユーザのつくったオブジェクトを呼び出す場合、3つの方法があります。 インターフェース(もしくは抽象クラス)を提供して、ユーザ側で実装してもらい、FWそのインターフェースを叩く。(もっともオーソドックス) 規約に沿ったメソッド名をユーザ側で実装してもらい、FWはリフレクションで規約を調べてメソッドを叩く。(Teedaとかで採用しているパターン) メソッドにアノテーションをつけておき、FWはアノテートされたメソッドを呼び出す。(Urumaとかで採用しているパターン) 最近流行ってる(のか?)、「規約ベース」の考え方が2ですね。 いろいろ考えましたが、わたしのイチオシはやはりアノテーションです。