7

いくつかの POJO にいくつかのドメイン ロジックを実装しています。ユーザーがさまざまなドメイン アクションを開始してその結果を確認できるように、Swing ユーザー インターフェイスを作成したいと考えています。

UI とドメイン間の通信に最適なパターン/フレームワーク/ライブラリは何ですか? これは次のように要約されます。

  • ユーザーのジェスチャーをドメイン アクションに変換できる UI
  • 表示目的で状態/結果情報を UI に送り返すことができるドメイン

私は MVC が広い概念であることを認識しており、Observer パターン (私が正しく理解している場合、その Java 実装にはいくつかの欠点があります) をいじりましたが、この問題に対して受け入れられているベスト プラクティスがあるかどうか疑問に思っています。

4

3 に答える 3

2

間違いなくMVC - こののようなもので、物事を明確に分割しています。Swing の例の問題点は、Swing 内で MVC がすべて動作しているように見えることですが、これは私には正しくないように思えます。

于 2008-09-16T07:10:18.113 に答える
1

MVCpagesは個々のウィジェットには最適ですが、forms多数のウィジェットがある場合は少し手に負えなくなります。

検討する価値があるかもしれないことの1つは、 Beans Binding Framework(JSR295)です(私はそれを支持していません。実際に使用したことはありません。

于 2008-09-16T15:16:10.037 に答える
0

過去に Observer パターン (AspectJ マジックを使用) を使用してある程度の成功を収めましたが、注意しないとすぐにクラスターになってしまうことがわかりました..えっと..フリック?

すぐに管理が難しくなり、最も重要なことに、デバッグが非常に困難になりました。

編集:

私の答えを少し拡張するために、私たちはSwing ではなくSWTを使用していたので、YMMV. 基本的に AspectJ を使用して、UI コンポーネントからモデル オブジェクトへのデータ転送を接続しました。これらのモデル オブジェクトはダム POJO でした。

実際のビジネス ロジックは、AspectJ を使用してモデル オブジェクトを「監視」し、変更された場合に必要なイベントを発生させることによって行われました。したがって、テキストボックスの値を変更すると、AspectJ が起動してその値を POJO にコピーします。POJO のそのフィールドにビジネス ロジックのイベントがあった場合、それが起動します。そのロジックがいずれかの POJO を変更した場合 (および変更可能であった場合)、AspectJ はそれを認識し、POJO から UI コンポーネントに値をコピーします。

于 2008-09-16T07:00:19.183 に答える