[Seasar-user:1053] Re: AopProxy とメソッド修飾子について

Sadanori ITO sito_dev
2004年 10月 3日 (日) 22:26:42 JST


伊藤です。

早速のご対応ありがとうございます。

On Sun, 3 Oct 2004 16:28:52 +0900
Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> Proxyを使うと、アスペクトの対象になっているメソッドから、
> 別のアスペクトの対象になっているメソッドを呼び出したときに、
> アスペクトが適用されなくなってしまうので、Proxyの併用は、
> いまのところ予定していません。

なるほど,この辺りは単純ではない理由で現在の実装に落ち着いている
のだろうとは思いましたが,様々なケースを考えると奥が深いのですね。
私自身は現在の仕様で十分便利に使わせていただいていますので,Proxy と
の併用ができなくても大きな問題はないです。
今回は偶然迷いやすい状況に陥ってしまったので,警告程度はあった方が
便利かなと思って報告させていただきました。

On Sun, 3 Oct 2004 17:06:21 +0900
Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> せっかく警告する機能がついたのに、警告はないのに、
> アスペクトが適用されないケースがあるとかえって混乱するような
> 気がしたので、同一のメソッド名の中に1つでも、static or finalな
> ものがあれば、警告してアスペクトを適用しないようにしました。

了解しました。確かにその通りかも知れません。
何れにしても,POJO を前提に開発できるとは言え,S2 との連携を踏まえた
・メソッド名の選び方(オーバーロードの有無)
・メソッド修飾子の付加
等,「こうした方がより便利に使える」みたいなノウハウは共有できると
良いですね。

例えば私の場合,現状では今回の特性(final で無視される)を利用して
オーバーロードしてしまっている複数のメソッドの中で,本当にアスペクト
を適用させたいメソッドのみ final をはずすことで逆に都合良く使えて
しまっていたりします。

でも,恐らく本質的には対象のメソッドのみ適切な一意のメソッド名に
変更しておいた方が無難かも知れません。

そういう意味では,メソッドのオーバーロードとアスペクトの組み合わせには
注意しようと思いました。

以上です。
また,何か気づいた点がありましたらご報告させていただきます。
今後ともよろしくお願いします。

-- 
s.ito

__________________________________
for your loved one
http://pr.mail.yahoo.co.jp/pinkribbon/




Seasar-user メーリングリストの案内