0

Javaクラス設計の最良の戦略を探しています。私はJSF2.1を使用していますが、基本的に、注文してWebサービスから取得するクラスがあります。

  • このクラスを使用してエラーが発生した場合は、トランザクションをコミットするか、ロールバックします。

これに対処するために私が取ることができるクラス設計の観点からの最良のアプローチは何ですか。ネストされたクラスデザインを使用する必要がありますか?少なくとも15のメソッドがあり、1つが失敗した場合でも、トランザクションがロールバックされるように調整して機能する必要があります。任意のガイダンスをいただければ幸いです。

4

1 に答える 1

0

JSFはビューテクノロジーです。あなたが物事を正しくやっているなら、それはトランザクションに全く関与するべきではありません。

JSFビューはコントローラーと通信する必要があります。コントローラーには、作業単位とトランザクションについて知っているオブジェクトであるサービスへの参照が必要です。このサービスは、モデルオブジェクト、永続オブジェクト、およびその他のサービスを調整して、ユースケースを実現します。

データベース接続を取得し、トランザクションをコミットまたはロールバックするロジックは、サービスに属します。

アスペクト指向プログラミングを使用している場合は、簡単に実行できます。(それがSpringのやり方です。)

view--->controller--->service--+--->persistence
                               |
                               +--->model

これは、レイヤードデザインと呼ばれます。依存関係は、私がそれらを描いたときに矢印に従う必要があります。モデルと永続性は、サービス、コントローラー、またはビューについて知りません。

于 2013-03-14T18:41:18.317 に答える