【发布时间】:2019-02-22 19:08:39
【问题描述】:
我有一个服务类,它需要从其他服务调用不同的 api。 但是每个API都有一些限制,所以我使用Guava的Ratelimiter来执行操作的限制
@Singleton
public class A {
private final RateLimiter apiCallX;
private final int timeoutInSecondsForAPIX;
private final RateLimiter apiCallY;
private final int timeoutInSecondsForAPIY;
@Inject
public A ( @Named("apiCallXRateLimiter") apiCallX,
@Named("apiCallXRateLimiter") apiCallY,
@Named("apiCallXRateLimiter") apiCallZ,
){
this.apiCallX = apiCallX;
...
}
public ResponseX callAPIX (){
...
}
public ResponseY callAPIY (){
...
}
private modelTransformer(){ //each for request and response and for each call.
...
}
}
我正在考虑使用继承来避免聚集来自此类的所有操作调用。 在这种情况下我可以使用哪些其他设计模式?
【问题讨论】:
标签: java design-patterns