1

Spring Web フローは、業界で会話型フロー動作アプリケーションまたはウィザードのようなアプリケーションに広く使用されています。このようなアプリケーションを使用する主な目的は、セッションで保持する必要があるデータを減らすことですよね? Web フローなどのフレームワークや、そのようなエンタープライズ アプリケーションの他の業界標準の実装を採用する価値はありますか?

以下は、Spring が主張する Spring Web フローとは対照的に、通常の実装の欠点です。

  1. 流れを視覚化することは非常に困難です。
  2. アプリケーションには、HTTP セッションにアクセスする多くのコードがあります。
  3. コントロールされたナビゲーションを強制することは重要ですが、不可能です。
  4. 適切なブラウザーの戻るボタンのサポートは達成できないようです。
  5. 「戻る」ボタンを使用すると、ブラウザとサーバーが同期しなくなります。
  6. 複数のブラウザー タブにより、HTTP セッション データで同時実行の問題が発生します。
4

1 に答える 1

4

フォームに入力して送信するよりも多くの手順を実行する機能が Web サイトにある場合は、Spring Webflow を使用することをお勧めします。

Webflow は引き続きセッションを使用してデータを保存しますが、すべてを抽象化し、フローが終了したときにセッションのクリーンアップも行います。

フローの同時「インスタンス」はいくつでも持つことができます。証券を購入するためのフローを作成することを考えてみてください。購入をクリックするとすぐに、そのトランザクションの別のコンテキストが作成され、両方で必要な数のステップ (値の追加、制限のチェックなど) を完了することができます。状態の分離。

フロー xml ファイルは理解しやすく、機能が増えてフローが大きくなるにつれて、非常に管理しやすくなります。

フローのメソッドを単体テストするための構造全体も、モックするのが非常に簡単です。これは、従来のコントローラーでモックされたセッション オブジェクトを処理することに加えて、大きな利点です。(http://vishwanathk.wordpress.com/2011/07/12/using-mockito-to-unit-test-spring-webflow/)

試してみてください。最初は、「ああ、コントローラーといくつかのアクション マッピングをコーディングすればよかったのに。しかし、Webflow のしくみを理解した後は、2 つ以上のステップをコーディングすることは決してないでしょう」と何度も思うでしょう。従来のコントローラー。

于 2012-11-08T06:17:28.853 に答える