从gwt中的另一个服务调用一个服务

时间:2012-06-03 01:29:57

标签: google-app-engine gwt

我们有一个GWT + GAE应用程序,情况如下:

我们有两种不同的表格/页面:

  1. 注册为献血者
  2. 注册为眼睛捐赠者
  3. 到目前为止,我们有两个不同的入口点类,它们调用两个不同的服务,一个实现为RegisterBloodDonorServiceImpl,另一个实现为RegisterEyeDonorServiceImpl。

    现在,我们想要实现一个功能,我们希望为献血者提供选项,以便注册为眼睛捐赠者。由于数据几乎相同所以我们不希望最终用户填写两个表格,而只是提供一个复选框以在献血者表格上实现相同的目的。

    那么,现在的问题是我们应该如何实施呢?

    1. 我们是否应该在服务中持久保存献血者数据后从RegisterBloodDonorServiceImpl内部调用RegisterEyeDonorServiceImpl?如果是,那么我们不确定如何从另一个服务调用一个服务?

    2. 我们应该在入口点实现类中一个接一个地调用两个服务吗?

    3. 有什么好主意吗?

1 个答案:

答案 0 :(得分:2)

我们项目中的代码需要从多个服务中调用,我们发现最好从我们的*ServiceImpl类中提取代码并将其提取到自己的类中。然后,每个服务都可以根据需要拥有自己的类实例。

因此,在您的情况下,我建议使用类似EyeDonorServiceCalls的方法创建名称为registerEyeDonor的类。 RegisterEyeDonorServiceImpl将保留此类的实例,并在收到适当的服务调用时调用registerEyeDonor。如果勾选了相应的复选框,则RegisterBloodDonorServiceImpl将保留另一个实例,并将registerEyeDonor作为献血者注册的一部分。