选择适当的服务,春天

时间:2014-03-09 01:34:00

标签: java spring

我使用spring在java中有一个Web应用程序。 我在选择服务时遇到了问题 我有接口Car和一些实现,如Ferarri,Mercedes等,我在某些类中作为参数获得。在这个课程中,我必须调用适当服务的方法

  class someClass {

    public sendCar (Car car) {
         // send car to a proper car service
         // [service].send(car)

    }

我有各种汽车服务

   FerrariCarService {
        ....
   }

   MercedesCarService {
        ....
   }

如何做得好?我尝试使用Guava的EventBus,但是我在自动注册所有服务时遇到了问题。对不起我的英文

1 个答案:

答案 0 :(得分:0)

似乎factory pattern可以解决的问题。创建一个汽车服务工厂并作为参数发送汽车,让工厂返回适当的汽车服务。

public class CarServiceFactory 
{
     public CarService getCarService(Car car) 
     {
           if (car instanceof Ferrari) {
                 return new FerrariService();
           }
           ...
     } 
}

然后你的FerrariCarService和MercedesCarService将需要实现CarService。