SAStruts を改造した理由

SAStruts は非常によくできたフレームワークだと思います。そのまま使うことで十分なメリットを得られる。

それでも、例外的な要件や、社内独特のルールみたいなのも良くある話で、それをフレームワークに求めるのは酷だ。そこは今までどおり、みんなで Struts を改造して、Spring を改造しながら使ってきたように、SAStruts を改造しながら使えば良いかなと思っている。何より、SAStruts は、要望に全て応えるような重厚なつくりでなく、結構淡白なフレームワークに敢えてなっている節がある。「ここ以上は作らないから、必要なら改造して何とか頑張ってね」というスタンスだと勝手に解釈して、改造して使わせてもらっている。ありがたや。

正直、SAStruts の枠からはみ出る要件や設計って、どうなのかと思う点もなくはない。

いわゆるローカル・ルールって保守性を下げる主因になる。先にも書いたように、改造のための保守コストも結構かかる。対応できる人材の確保も厄介だ。それとのトレードオフで、はみ出ることのメリットって、いかほどかな、と。見合っているのかな、と。もちろん見合っていると思ったから自分は改造したわけだけど、おいそれと「SAStrutsじゃコレができねーよ、使えねえなあ」という前に、もう一度自分の考えた方法のセオリーがどんなもんか、振り返ってみることも重要だなーと思った。

ちなみに連呼している「改造」というのは、ソースそのものに手を入れるのではなくて、RequestProcessor を入れ替えたりとか、そういう類のことです。「改造」じゃないんだけど、正しい日本語が思い浮かばない…。