我正在设计一个用于至少5个具体实现的常见Service
接口。现在所有这些服务都需要不同类型的输入。我想创建一个Param
类来保存参数,以便界面可以保持通用。但是对于某些实现来说,其中一些字段将不被使用。我也想过使用Map
来保存我的参数,但这也不是很好(到处都是演员和if-elses)。另外,我想到的是用静态方法Service.responseAsPerFirstImplementation(p1, t1, i1)
等创建一个类。但是,这种方式不是很好的编码。请建议我应该如何在模块化设计,灵活性与参数变化之间进行设计?具有不同类型参数的设计服务java
编辑: 低于这样做的好方法?
public class Client {
public static void main(String[] args) {
System.out.println(Services.response(new UserParam(1, new Date())));
System.out.println(Services.response(new PatternParam("core")));
}
}
为什么你想要一个通用接口呢? – lexicore
以免将实现暴露给客户端。我想使用从'Services'类中获得'Service'实例的方法(以支持实例缓存等) – GurV
但是为什么一个* common *接口? – lexicore