【发布时间】:2013-07-29 03:58:52
【问题描述】:
我正在开始代码重构,将四个小项目整合为一个项目,四个项目非常相似。 项目的一般逻辑是这样的:一个http-server接收请求,请求为json格式,例如A(我们称A有两个对象:a_key, b_key):
{a_key : a_value, b_key : {bb_key: {b_key1 : b_value1}}}
但是这四种请求并不相同,它们之间有一点不同。例如:第二个项目接收请求是这样的B(我们称B有三个对象:a_key,c_key,d_key):
{a_key : a_value, c_key : {cc_key: {c_key1 : c_value1}},d_key: [dd1, dd2, dd3]}
如上,所有请求都是JSON格式,不同的是“某个key”可能有不同的名字(例如:bb_key, cc_key),参数个数也可能不同(例如:B有 dd_key 参数)。我不能确定具体参数的名称和数量。 此外,所有响应都是 JSON 格式,但作为请求,它们之间略有不同。过程类似,根据参数,经过一些过滤后,返回响应。
我觉得这个重构的难点是Request和Response的一般性,现在我们四个项目中,大部分代码都是类似的,只是Request和Response有点不同,我们的代码使用 Java,我们使用 Jackson 来翻译每个请求,我们为请求中的每个对象定义一个具体的类(例如:a_key、b_key、c_key、d_key)。我不想为 4 种类型的请求定义这么多的对象类,因为只有一个或两个参数不同。现在我不知道一般这个请求,有人有想法吗?谢谢!
【问题讨论】:
标签: java json refactoring request response