[Seasar-user:1057] Re: AopProxy とメソッド修飾子について
Sadanori ITO
sito_dev
2004年 10月 4日 (月) 03:15:56 JST
伊藤です。
自己レスです。
On Sun, 03 Oct 2004 22:26:41 +0900
Sadanori ITO <sito_dev @ yahoo.co.jp> wrote:
> On Sun, 3 Oct 2004 17:06:21 +0900
> Yasuo Higa <higa @ isid.co.jp> wrote:
>
> > せっかく警告する機能がついたのに、警告はないのに、
> > アスペクトが適用されないケースがあるとかえって混乱するような
> > 気がしたので、同一のメソッド名の中に1つでも、static or finalな
> > ものがあれば、警告してアスペクトを適用しないようにしました。
>
> 了解しました。確かにその通りかも知れません。
文字では了解しましたと書きつつ,全然理解できていませんでした...
この修正の結果として,当然ですが下記の手法が使えなくなるということ
ですね。迂闊にも実際に試すまで,何の疑問も感じませんでした。
> 例えば私の場合,現状では今回の特性(final で無視される)を利用して
> オーバーロードしてしまっている複数のメソッドの中で,本当にアスペクト
> を適用させたいメソッドのみ final をはずすことで逆に都合良く使えて
> しまっていたりします。
>
> でも,恐らく本質的には対象のメソッドのみ適切な一意のメソッド名に
> 変更しておいた方が無難かも知れません。
>
> そういう意味では,メソッドのオーバーロードとアスペクトの組み合わせには
> 注意しようと思いました。
なので,「無難」とか「注意する」とかではなく,このような利用の仕方
ではメソッド名を変更する必要が生じるわけですね。
とりあえず,私のプロジェクトではメソッド名を変更することに不都合は
ありませんが,他のユーザの方々にとっては問題ないのでしょうか?
もちろん,修正の方向性自体は間違えていないと思いますし,これから利用
し始める開発者の方々にとっては,有用な警告だと思いますが,既存の
設定で pointcut をデフォルトの .* にしていたりすると,場合によっては
結構沢山の警告が出て驚かれるかも知れません。
以上です。
影響度合いが少し心配だったので,念のためご報告まで。
何れにせよ,ご対応ありがとうございました。
--
s.ito
__________________________________
for your loved one
http://pr.mail.yahoo.co.jp/pinkribbon/
Seasar-user メーリングリストの案内