makotan _at_ gmail dot com

DIとAOPが面倒になったわけ

そういえば書いてなかったなぁ〜と
DIとAOPといえば最近EOFが公式ページで告知されたSeasarが最初だったわけです
で、ProxyベースAOPから時代はバイトコードを操作するAOPへ進化し、さらにバイトコードを操作するMockツールが登場し、APTが消え、AnnotationProcessorベースのボイラープレート回避ツールが登場するって流れで話は進み、平行して仕事の都合的にSeasarからSpringへ個人的に移行するんですが・・・
個々で見れば非常に優れた素晴らしいツール群なんだけど、まるっとまとめてさくっと開発出来る仕組みを作ろうとすると途端に難易度が急上昇
どれくらい急上昇するかというと、平坦な道を歩いてたと思ったら突然富士山8合目に連れてこられるくらい急上昇する
ちなみに、そこを乗り越えるとまた平坦になるので仕事では使ってるんだけどw


じゃあ、明示的に使ってるAOPってどの程度役に立ってるのか?って考えると・・・んと・・・DBのコネクションプールと例外処理とログくらい?
これだけなら組み合わせ爆発を片付ける苦労に比べてメリット少なすぎないかな・・・
あとSpringのマニュアルも雑すぎない??検索しても古い情報に振り回されるしキツいなぁ〜
これだけ苦労するならいっそのことAOPとか使わずに最小限でいけるんじゃ無いのか??
って思うようになってしまった


その後、Java8とかKotlinとか出てきたので「実装方法を大きく変えればテストもそこまで苦労せず、組み合わせ爆発もなくなるんじゃ無いか?」
という仮説の元、色々調査してましたとさ。


めでたしめでたし


PS.
実装イメージは出来た