Struts VS SAStruts ・STRUTSとSAStrutsを比較します。 Strutsのメリット1 STRUTSはディファクトスタンダード。 ↓ プログラマがたくさんいる。 ライブラリ、ツールがたくさんある。 ビジネス案件が豊富。 書籍などの情報元が豊富。 Strutsのメリット2 ・根源的な部分のみのフレームワーク。 ↓ 拡張が容易。理解が容易。 ・大規模アプリケーションの十分な実績。 ↓ 枯れている。高いパフォーマンス。安定性 Strutsのデメリット ・設定ファイルが肥大する。 ・修正するたびにサーバ再起動。 ・テストしずらい。 ↓ 生産性が低い。 SAStrutsの設計野望 安定していて、知っている人もたくさんいる。けど 使いづらい。 ↓ ・使いづらい部分だけ改善して安定してる部分は 使いまわそう。 ・Strutsを知っている人を取り込もう。 SAStrutsで改善1(before) ※ 設定ファイルを無くした。 strutsの場合 <action-mappings> <action path="/login" ←urlキー input="~~~~~~~~~~~" name="LoginForm" ←Form発見 type="LoginAction" ←Action発見 scope="session" validate="true"> <forward name="success" path="/pages/menu.jsp" /> </action> </servlet-mapping> SAStrutsで改善1(after) sastrutsの場合 url: /login ↓ (フレームワークが推測) アクション:→ loginAcition (格納場所:pakkege.action) フォーム:→ loginForm (格納場所:pakkege.form) ↓ 格納場所やネーミングルールで対象を 見つけることで解決。書かなくていい。 SAStrutsで改善2(before) ※ form情報の取得をシンプルに strutsの場合 – – – – – – – – – – – – – – – public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm loginForm=(LoginForm)form; String user=loginForm.getUser(); String inputPassword=loginForm.getPassword(); ActionForward af = null; if (user == 10113) { af = mapping.findForward("success"); } else { af = mapping.findForward("failure"); } return af; } SAStrutsで改善2(after) ※ form情報の取得をシンプルに strutsの場合 – – @Resource protected LoginForm loginForm; – – – – @execute(validator = "checkPassword", input=失敗.jsp) public String index(){ return input=成功.jsp; } ※条件user = 10113の定義部分は, メソッドcheckPassword としてloginFormクラス内に書く SAStrutsで改善(その他) ・プログラムの組み替えを自由に インスタンス化処理をDIコンテナに委譲することで プログラムを疎結合にした。 ↓ 結合関係を切り替えられる ↓ 組み替えが自由になる。 ↓ テストが楽になる。プログラムの再利用が容易。 ※DIによるソースのPOJO化機能 比較 雑感 STRUTS SASTRUTS 開発スピード × ○ コード量が減る、テスト環境が作りやすいなど 言語習得 △ × SASTRUTSの方が、決め事が多いのでJAVAか ら勉強すると覚えることが多い 再利用性 × ○ POJO化されているので再利用しやすい。 安定度(実績) ○ △ STRUTSは長年使われてきたので枯れている が、SASTRUTSも コアの部分以外で追加されているクラスが少な いので間もなく安定する だろう。 処理速度 ○ △ 実際には比較していないが、設定ファイルを無く すなど自動化している 部分の処理が追加されるはず。 まとめ ・SAStrutsは昨今はやっているアジャイル開発に 向いている。 ・SAStrutsの大型案件実績も出てきているので STRUTSに取って代わる日も近いのでは。
© Copyright 2024 ExpyDoc