Component配下のAspect

Seasarのからさわぎ」で,参加者から次のような質問が出されました(たぶん).

AspectをComponentの下に定義するようになっているが,それでは複数のComponentに対するAspectを定義できないのでは?

なるほど.AspectJでは,Aspectはターゲットとなるclassとは独立しており,Pointcutの指定次第で多数のclassを対象とすることができます.
それに対するひがさんの回答は次のような感じでした(たぶん).

Aspectが様々なComponentに適用できると,どのComponentにどのAspectが適用されているかが分かりにくい.
また,Aspectの開発者とComponentの開発者のどちらも,ComponentとAspectを組み合わせたテストをしなくなりがち.

ここでは回答の前半について.とっても御意だと思いました.
AspectJでは確かにAspectが独立したモジュールとなっているために,トレースのようなAspectを広範囲に一気にWeavingするのはとてもラクチンな感じがします.対してSeasar(Springでも)の定義の仕方だとちょっと面倒かもしれません.でも,そのようなAspectってトレースくらいじゃないのかなぁ? そんなに多くあるとは思えません.
一方で,AspectJ方式を採用した場合の欠点は,ひがさんがおっしゃるように,あるComponentにAspectが適用されているのかが分かりにくいことだと思います.それに加えて,複数のAspectが適用される場合の適用順序が分かりにくいことも問題だと思います.AspectJでは,同じJoinpointを対象とするAspectをどのような順で適用するかについて,declare precedence で明示的に指定できるわけですが(たぶん),それがわかりやすいとはとても思えません.
コンパイル時にWeavingするAspectJでは,Eclipse + AJDT などのIDEを使うことで,Joinpointに適用されているAdviceとその順序を容易に確認できるからまだよいのでしょうが,ランタイムでAspectがWeavingされるSeasarでは,ものすごく分かりにくくなってしまいそうです.
ということで,ひがさんの選択はとても妥当だと思いました.

「プレミアの巣窟」

新番組? なのかな? フジテレビで4/16(金) 深夜02:10より.
蛯原友里ちゃん登場らしいです.見なくては.同日プロ野球中継があるようなので要注意.プロ野球中継はTBSでした.
金曜日は「恋するハニカミ!」もあるし*1,エビユリふぁんにはたまらない1日になりそうです.
はっ! 金曜日はOO-Enkaiではないですか! 萌え〜は土曜日か.

*1:こっちはTBSなのでプロ野球中継の延長に要注意

Seaserのからさわぎ

超楽しかったです.勉強会には90人近くが本当に集まって,ものすごいエネルギーを感じました.その後の宴会・カラオケも勢いは衰えず... っていうかあのカラオケは何?(^^; なんだか,勉強会の方の記憶が吹っ飛ばされてしまった感じ?*1
ひがさんとは初対面だったのですが,あの大人数の中で幸運にもいろいろお話ができました.IoCコンテナS2の作者は,本人もIoCコンテナでした.つまり,こちらがSakenomi#setSake(Sake)を実装していれば,ひがさんが Dependency Injection してくれるのです! S2同様 auto-wiring をサポートしていらっしゃるので,こちらが飲みたいものを調達していただけました.素晴らしい! っていうか,主役に雑用させちゃってごめんなさい.心より恥じる.
seasar-groovyのたかいさん,笑わせていただきました.もっとGroovyについていろいろお話を聞きたかったな.
Zaizenerのターンスクリプト教祖,アピラクンともお会いできました.ただ... 総回診をできなかったのが... 無念だ.
こういう機会がもっと増えるといいですね.職場は鶴見なので,川崎OFFというやつにも誘ってください.ちょっと遠いですが小岩の方にも遠征しますので,どしどし誘ってください.お願いします.

*1:もの忘れの歳だからではありません! 決して,健忘症の歳だからではありません! 無念だ.