Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

DelegateInterceptor再び

s2phpで活躍されているハタさんとこで取り上げられました。誰からもレス付かなかったらどうしようかと思った :-D


DelegateInterceptor動かすにはabstractじゃなかったでしたっけ。


package net.xole.aop;

import net.xole.IBase;

public abstract class Dummy implements IBase {

}

ということは、「S2的にDelegateInterceptorを使う場合、aspect対象のクラスはabstractでなければならない」という理解(仕様?)で良いんですかね?
なぜこんなことを言い出したかというと、Seasar入門もWeb上に公開されているサンプルも記事もみんなabstractクラスを前提に説明していて、確かにabstractクラスの場合は動作しました。しかし、「なぜabstractなのか」の説明が見つからないんですよね。S2(というかAOP)の仕組みとして至極当然なので、説明するまでもないのかも知れませんが。。。

DelegateInterceptorとちょっとずれますが、DIコンテナって面白いですね :-)
SpringじゃなくてS2やってるのは、PHP版があるからです。S2DAOも良いですね。Java版が一通り終わったら、PHPも早速一通りやる予定です。