我使用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,但是我在自动注册所有服务时遇到了问题。对不起我的英文
答案 0 :(得分:0)
似乎factory pattern可以解决的问题。创建一个汽车服务工厂并作为参数发送汽车,让工厂返回适当的汽车服务。
public class CarServiceFactory
{
public CarService getCarService(Car car)
{
if (car instanceof Ferrari) {
return new FerrariService();
}
...
}
}
然后你的FerrariCarService和MercedesCarService将需要实现CarService。