我有一个javatcp服务,它以下面的方式使用继承。java服务将json作为输入,对其进行处理,然后返回一个json。处理是跨类分布的,比如b和c。a创建他们的对象并完成他们的工作。我没有将inputjson传递给b和c,而是将其存储在容器类中,以便容器的子类可以轻松地使用它。
我相信有更好的方法重新设计它。请引导(注意:在real中,有更多的类,如b、c和container,它们包含更多dob1()和doc1()等使用的属性
//Pseudo
Class Main(){
public static void main(String[] args)
{
return new A().a1(inputJson);
}
}
Class Container{
JsonNode input;
JsonNode output;
}
Class A extends Container{
private JsonNode a1(inputJson)
{
input = inputJson;
B bObject = new B();
bObject.doB1();
C cObject = new C();
cObject.doC1();
return output;
}
}
Class B extends Container{
public void doB1()
{
//prepares and updates part of output using input
}
}
Class C extends Container{
public void doC1()
{
//prepares and updates part of output using input
}
}
1条答案
按热度按时间nsc4cvqm1#
也许这就是你想要的,它消除了你需要的单容器超类。使用它可以简单到
C.process(B.Process(A.create()));
当然,您需要确保每个类都返回一个JsonNode
,但该功能似乎已经存在于您的容器中。