Java:继承和基本设计优化

时间:2017-01-04 07:56:42

标签: java inheritance

我有一个Java TCP服务,它具有以下方式使用的继承。 Java Service将Json作为输入,处理它然后返回一个Json。处理分布在B和C等类中.A创建对象并完成工作。我没有将inputJson传递给B和C,而是将它存储在Container类中,以便容器的子类可以很容易地使用它。 我相信有更好的方法来重新设计它。请指导。 (注意:实际上,有更多的类,如B,C和容器包含更多由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 个答案:

答案 0 :(得分:1)

也许这就是你要找的东西,它消除了你需要的单个Container超类。 使用它可以像<button type="button" class="btn_style">Medium</button>一样简单 当然,您需要确保每个类都返回一个C.process(B.Process(A.create()));,但看到您的容器似乎已经存在该功能。

JsonNode