このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
フレームワークを使うことで、開発期間を短縮し、
開発効率を高めることができる。
Struts は有名なフレームワークなので、
Web や書籍を調べればいくらでも情報があり、
全体的に、Struts の使い方や設定方法、
効率的なアプリケーションの設計方法など、
より実践的なものが数多く揃っている。
これらを読めば、「使い方」はすぐ身につくため、
すぐに開発に生かし、効率を高められるような錯覚を覚える。
これは非常に危険なことで、落とし穴が潜んでいる。
フレームワークを十分に理解しないまま安易に使うと、
実装がフレームワークの思想(≒目的)と矛盾していたり、
フレームワークとの役割分担ができず衝突していたりと、
将来的に解消が難しいトラブルに見舞われる可能性がある。
Struts は「オープンソース」である。
そのため、トラブルが起きた場合は、
ソースを読めば、多分そこに答えが書いてあるので、
何とでもなるさという考えもある。
よく、「ソースを読め」という言葉を聞くが、
それはソースコードは実装の表現であり、
それ自身が直接的な仕様書と成りえることが理由だ。
でも、ソースを読むというのは骨の折れる作業である。
よほど熟練した人でもない限り、
一般的には自分でコードを書くよりもはるかに大変なはずだ。
では、どうすればよいか。
フレームワークの力を最大限発揮するためには
まずその「思想」と「機能」を理解することだ。
思想というのは、そのフレームワークの目的を表す。
利用者がその思想を理解し、方向性を合わせなければ、
そのフレームワークを使ってもうまくはいかないだろう。
機能というのは、フレームワークの役割と処理を表す。
プログラムの設計はモジュール分割による役割分担である。
フレームワークがどの部分の役割を担っているかを理解し、
利用者の分担する部分を明確にすることだ。
ただし、こういった「思想」や「機能」の理解というのは
業務において進捗とみなされる実装作業と対極を成す。
目に見える実践的な要素ではなく、
知識を得るための学習となるため、
十分に時間をとることが難しいのだ。
なので、今回の話題ではあえて実践的なネタではなく、
Struts 自身を理解する方向で進めてみようと思う。