0

私は数か月間アプリケーションを開発しており、時々デザインパターンについて考えています。

いくつかのタブを持つ (Web) アプリケーションがあるとします。各シートで、入力または変更するフィールドとテーブルをユーザーに提供します。すべてのシート コンテンツを保存するグローバル保存ボタンがあります。まず、保存を許可する前に、フィールド値を検証する必要があります。また、オブジェクトの永続化中に何かが発生した場合は、トランザクションとすべてのシートの保存を停止する必要があります。

ロジック ハンドラー クラスを使用して自分で何かを実装し、タブ シートごとにシート ロジック クラスを実装しました。ロジック ハンドラは、シート ロジック クラスを制御します。保存ボタンをクリックすると、保存するオブジェクトを返す screenToData メソッドのロジック ハンドラがすべてのシート ロジックに対して呼び出されます。シートをロードすると、dataToScreen メソッドが呼び出されます。

また、シート ロジックには、UI とそのコンポーネントを処理する別のクラスがあることにも言及したいと思います。ご覧のとおり、ロジックは UI ハンドラーから分離されています。

私の意見では、タブ シートを使用し、UI ハンドラーをロジックから分離するシナリオは非常に一般的です。ですから、そのような状況の開発をサポートする Java フレームワークまたは設計パターンがあるかどうか疑問に思っています。MVC デザイン パターンは、UI とロジックを分離するのに適していますが、保存/充填のシナリオ、またはその組み合わせを探しています。ここでの最先端とは何ですか?

私はJavaで開発し、vaadinを使用していますが、それほど重要ではありません。

4

2 に答える 2

1

問題ごとにデザイン パターンを用意する必要はありません ( KISSの原則)。最初にすべてのタブの正当性を検証メソッドでチェックしてから、それらをトランザクション内に保存するというアプローチで十分だと思います。

于 2012-06-13T05:05:22.870 に答える
0

各タブにフォームがある場合は、保存ボタンを使用してすべてのフォームを反復処理し、コミットできます。フォームフィールドにバリデーターを設定して、コミットを防ぐことができます。Vaadin book のForm ページを確認してください。

于 2012-06-07T22:32:29.967 に答える