« クリスマスの食事 | トップページ | うなぎカレー »

2004.12.26

Struts Best Practices

Struts Best Practicesというのが紹介されていたので読んでみた。
仕事でStrutsって、ちゃんと使ったことないんだよね。

会社では、プレゼンテーション層とビジネス層とにチームをわけることが多いんだけど、
  ・プレゼンテーション層(UI)側は、日本海軍。
  ・ビジネス層(Business Logic)側は、日本陸軍。
って気がするな。雰囲気的に。
そしていつも大本営の無謀な作戦にふりまわされる。

1. Use intermediate Action class for common operations
共通の処理(認証の処理とか)を実装するために、abstractなクラスを使う。

2. Use DispatchAction to group related actions into a single class
DispatchActionを使って関係性があるActionをまとめる。
例えばショッピングカートの実装での、商品追加・削除・修正とか。
(でもそしたらabstractなActionは無理じゃんねぇ……。)

3. Handle duplicate form submission
二重送信を避けるため、saveToken() と isTokenValid() を使え。

4. Use Application Modules for parallel development
並行開発とかで問題が発生しそうであれば、モジュールを(struts-configを)分ける。

5. Use single ActionForm for similar forms
似てるActionFormは複数つくらない。
例えば、顧客情報表示画面と顧客情報編集画面は、同じActionFormを使う。

6. Use global-forwards to avoid redundant forwards
Actionによく出るforwardはglobal-forwardsに定義する。
例えばセッションタイムアウトはglobal-forwardsに書く。

7. Use Struts exception handler for generic exceptions
例外発生時に何かしたい場合にはExceptionHandlerを継承してHandlerをつくる

8. Remove ActionForm from session
セッションに入れて、不必要になった場合には消せってことかな?

9. Use Business Delegate
Actionにごちゃごちゃ実装するな
(プレゼンテーションレイヤーなので)

10. Use ForwardAction for simple JSPs
何もしないActionを使いたい場合はForwardActionを使う
(知らずに自分で書いてた……。)

11. Avoid using instance/static variable in Action class
Actionにはインスタンス変数、staticな変数を書かない

12. ActionForms are not Model
reset() とか validate()とかにごちゃごちゃ実装しない
(プレゼンテーションレイヤーなので)

13. Use html:messages instead of html:errors
html:errors じゃなくてhtml:messages を使う

14. Use Tools
Easy Struts とかStruts Console とかStruts Builder とか、便利なものを使う。

15. Use StrutsTestCase for unit testing
テストにはStrutsTestCase を使う

へぇ。

|

« クリスマスの食事 | トップページ | うなぎカレー »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19919/2383532

この記事へのトラックバック一覧です: Struts Best Practices:

« クリスマスの食事 | トップページ | うなぎカレー »