哪种设计方法可以减少代码重复

时间:2019-02-20 16:22:14

标签: java rest java-ee design-patterns soap

我正在尝试编写代码以使用java Httpurlconnection调用外部服务,并且注意到代码已被复制,但是现在我很困惑是复制代码还是使用大量的if-else块并将所有内容都写在一个地方。

以下是需要调用的方案或服务类型- 1.通过HTTP协议进行基本身份验证的Post / put / get Rest服务 2.通过Https协议进行基本身份验证的Post / put / get Rest服务 3.使用不同的oauth身份验证选项发布/放置/获取服务,这里需要再进行一次获取令牌的调用。 4.肥皂服务具有不同的身份验证方法。

对于不同类型的服务,响应处理逻辑也有所不同。

到目前为止,我为每种方法编写了单独的方法,但是由于它与服务类型紧密相关,因此无法重用。

有人可以为此建议更好的设计方法吗?

1 个答案:

答案 0 :(得分:0)

您可以将与API的迭代抽象为一个或多个单独的服务。例如TaskApigetTasks()sendTask(Task task)等方法。看一下Retrofit库,它比使用HttpURLConnection更方便,并且可以帮助您轻松解决身份验证问题。