1

GWT + GAE アプリがあり、状況は次のとおりです。

2 つの異なるフォーム/ページがあります。

  1. 献血者として登録する
  2. アイドナーとして登録する

これまでは、RegisterBloodDonorServiceImpl として実装されたサービスと RegisterEyeDonorServiceImpl として実装された別のサービスを呼び出す 2 つの異なるエントリ ポイント クラスが基になっていました。

ここで、献血者に目のドナーとして登録するオプションを提供する機能を実装したいと考えています。データはほぼ同じであるため、エンド ユーザーが 2 つのフォームに記入する必要はなく、代わりに、献血フォームで同じことを達成するためのチェックボックスを提供するだけです。

では、問題はそれをどのように実装するかです。

  1. 献血者データがサービスに保存された後、RegisterBloodDonorServiceImpl 内から RegisterEyeDonorServiceImpl を呼び出す必要がありますか? はいの場合、あるサービスを別のサービスから呼び出す方法がわかりませんか?

  2. エントリポイント実装クラスで 2 つのサービスを続けて呼び出す必要がありますか?

  3. より良いアイデアはありますか?

4

1 に答える 1

2

プロジェクト内に複数のサービスから呼び出す必要があるコードがある場合、クラスからコードを抽出*ServiceImplして独自のクラスに入れるのが最善であることがわかりました。その後、各サービスは、必要に応じてこのクラスの独自のインスタンスを保持できます。

したがって、あなたの場合、 のEyeDonorServiceCallsようなメソッドで のような名前のクラスを作成することをお勧めしますregisterEyeDonorRegisterEyeDonorServiceImplは、このクラスのインスタンスを保持しregisterEyeDonor、適切なサービス呼び出しを受け取ったときに呼び出します。RegisterBloodDonorServiceImpl適切なチェックボックスがチェックされている場合、別のインスタンスを保持registerEyeDonorし、献血者の登録の一部として呼び出します。

于 2012-06-03T23:25:49.880 に答える