18

Spring MVC は、エンタープライズ Web アプリケーションを構築するための非常に人気のあるフレームワークになりました。複雑な Web アプリケーションには、コーディングが必要な特定のフローがあります。これには、いくつかの条件付きフロー (つまり、クレジット カード情報が正しければ処理された注文を表示したり、何かが正しく入力されなかった場合に検証エラーが発生したりします) が含まれます。

Spring MVC の上で Spring WebFlow を使用する意味があるのはいつですか? Spring WebFlow の使用に関する意思決定プロセスはどうあるべきですか?

4

4 に答える 4

7

何らかのアプリケーション プロセスを持つ Web アプリケーションがある場合。たとえば、あるボタンで 1 つのページに移動し、別のボタンで別のページに移動できる、ある種のサインアップ プロセスがあるとします。Spring Webflow は、さまざまなプロセス セットへの移行を非常にうまく処理できます。

基本的に、アプリケーションの一部がリンクされていて、実行中にページが相互に依存している場合は、SWF を使用するのが適切です。

于 2010-07-27T15:19:04.017 に答える
3

私がWebflowで個人的に最も気に入っているのは、次の2つです。

  1. フローとビューステートを継承する機能。これは、アプリケーションのさまざまな部分で共有したいいくつかの共通ロジックの側面がある場合に非常に便利です。たとえば、別のフローで抽象化し、子フローがこのロジックを継承できるようにするCRUDロジックがあるとします。各フローは入力と出力を持つことができるため、ロジックを非常に細かくすることができます。
  2. 強力なテストフレームワーク。ユニットテストでは、フローロジックのほぼすべての側面をカバーすることができます。アクションの起動、あるビューから別のビューへの遷移、フローの永続性の処理など、プログラムで多くのことをエミュレートできます。

私が気に入らないのは、新しいバージョンの不整合と下位互換性の低さです。たとえば、最新のwebflow2.1はJSF1.xjiraと互換性がありません。SpringSecurityとの統合には多くの問題もあります。たとえば、Spring Security 3.xでは、一部のパッケージ名が変更されただけです。一般に、Sasiが述べたように、webflowを使用すると、ロジックをさまざまなwebflowに分離する必要があります。これは素晴らしいことだと思います。

于 2010-08-11T16:43:41.327 に答える
2

Webflow が効率的に解決する問題の 1 つは、ビジネス ロジックを制御ロジックから明確に分離する (または少なくとも混在させるのが非常に困難になる) ことです。
ユースケースについては@Johnに同意しますが、Webflowを頻繁に使用し始めると、多くのxmlファイルを作成していることに気付くでしょう(Webflowではすべてのフローをxmlファイルで指定するため)。これは、個人的にはほとんど契約違反です。

于 2010-07-27T20:59:53.427 に答える