DelegateInterceptor再び
s2phpで活躍されているハタさんとこで取り上げられました。誰からもレス付かなかったらどうしようかと思った :-D
ということは、「S2的にDelegateInterceptorを使う場合、aspect対象のクラスはabstractでなければならない」という理解(仕様?)で良いんですかね?
DelegateInterceptor動かすにはabstractじゃなかったでしたっけ。
package net.xole.aop;import net.xole.IBase;
public abstract class Dummy implements IBase {
}
なぜこんなことを言い出したかというと、Seasar入門もWeb上に公開されているサンプルも記事もみんなabstractクラスを前提に説明していて、確かにabstractクラスの場合は動作しました。しかし、「なぜabstractなのか」の説明が見つからないんですよね。S2(というかAOP)の仕組みとして至極当然なので、説明するまでもないのかも知れませんが。。。
DelegateInterceptorとちょっとずれますが、DIコンテナって面白いですね :-)
SpringじゃなくてS2やってるのは、PHP版があるからです。S2DAOも良いですね。Java版が一通り終わったら、PHPも早速一通りやる予定です。