我有一个整体后端应用程序。我有一个客户端层(称为第二个服务),该客户端层位于几层业务逻辑之后,比如说3-4层服务和其他类。它在Java 6中。我有一个新要求,即从控制器层将字符串值转发到该层,而对中间层的修改最少。
有什么可能的好方法?
我现在当然不能更改所有中间层的合同。
答案 0 :(得分:0)
您可以尝试构造一个以单例形式启动的Java bean。
假设您要将变量“ foo”和“ bar”从上层传输到下层:
public class TransporterUpperToLowerLayer{
public static TransporterUpperToLowerLayer getInstance(){
if(instance == null)
instance = new TransporterUpperToLowerLayer();
return instance;
}
public void setFoo(Object foo){
this.foo = foo;
}
public void setBar(Object bar){
this.bar = bar;
}
public Object getFoo(){
return foo;
}
public Object getBar(){
return bar;
}
}
在上层称为“ setter”,在下层可以使用“ getter”。
上层:
TransporterUpperToLowerLayer.getInstance().setFoo(myFoo);
下层:
TransporterUpperToLowerLayer.getInstance().getFoo();