-IoCコンテナAPI
AOPは動きがあるので、IoCのAPIを私の主観でユーザーが触れそうなモノのみリストして、重要度をつけてみました。
- org.seasar.framework.container
- [A]S2Container
- [B]ComponentDef
- [B]ArgDef
- [B]PropertyDef
- [B]MethodDef
- [B]InitMethodDef
- [B]DestroyMethodDef
- [B]AspectDef
- [C]ArgDefAware
- [C]PropertyDefAware
- [C]InitMethodDefAware
- [C]DestroyMethodDefAware
- [C]AspectDefAware
- org.seasar.framework.factory
- [A]S2ContainerFactory
- org.seasar.framework.deployer
- [C]ComponentDeployer
- [C]ComponentDeployerFactory
- org.seasar.framework.beans
- [C]BeanDesc
- [C]PropertyDesc
- org.seasar.framework.beans.factory
- [C]BeanDescFactory
- org.seasar.framework.container.impl
- [B]S2ContainerImpl
- [B]ComponentDefImpl
- [B]ArgDefImpl
- [B]PropertyDefImpl
- [B]InitMethodDefImpl
- [B]DestroyMethodDefImpl
- [B]AspectDefImpl
- [C]SimpleComponentDef
- [C]TooManyRegistrationComponentDef
基本的に、[A]だけでいいのですが、それだとインターフェイス2つで終わってしまうので、あえてテストケースで使いそうな[B]、プラグインを作るにあたって、もしかすると(ほとんど可能性ないと思いますが)使いそうなものが[C]でしょうか。テストケースの[B]も、S2Unitがあるから、いらんのですけど。。。org.seasar.framework.container.implは実装パッケージですが、テストケースという意味ではファクトリーが無いのでAPIとせざるを得ないか?あえてこのimplをAPIとして整理するなら、ファクトリを作って、
- org.seasar.framework.container.factory
- [B]ComponentDefFactory
- [B]ArgDefFactory
- [B]PropertyDefFactory
- [B]InitMethodDefFactory
- [B]DestroyMethodDefFactory
- [B]AspectDefFactory
- org.seasar.framework.container
- [C]TooManyRegistrationComponentDef(インターフェイス化)
と提案。あたりまえにSeasar2のAPIはインターフェイス2個(+例外クラス)と言い切ってしまうのは期待に答えていないかなと。。。