例如,在我的应用程序中,我有 3 个逻辑 block ,由用户按以下顺序创建:
第一 block -> 第二 block -> 第三 block
它们之间没有类继承(它们不扩展任何其他继承),但存在逻辑继承(例如 Image
包含 区域
包含消息
)。抱歉,我的表达能力并不强 - 希望您能理解我。
每个 block 都会向服务器发送请求(以在服务器端创建有关它的信息),然后独立处理响应(但使用相同的 http 客户端实现)。就像该图像一样(红线是响应,黑线是请求)。
http://s2.ipicture.ru/uploads/20120121/z56Sr62E.png
问题 是个好模型吗?或者最好创建一个 Controller 类,它自己发送请求,然后处理响应并将结果重定向到我的 block ?或者http客户端的实现应该是 Controller 本身?
P.S.如果我忘记提供一些信息 - 请告诉我。另外,如果我的英语有错误 - 请编辑问题。
最佳答案
这就是为什么我会使用单独的 Controller 类来处理 HTTP 请求和响应:
- 减少代码重复(您真的需要三个个单独的 HTTP 实现吗?)
- 如果/当您的应用和服务器之间的通信协议(protocol)发生变化时,您必须重写所有您的类。举例来说,假设您向响应负载添加了另一个字段,而您的应用程序无法处理该字段,那么您现在必须重写
FirstBlock
、SecondBlock
和ThirdBlock
。并不理想。
修改您的HTTP 客户端实现
Controller 类,以便:
- 所有 HTTP 请求/响应都经过它
- 它负责将响应路由到适当的类。
优点?
- 如果/当您更改通信协议(protocol)时,所有相关代码都位于此 Controller 类中,您无需触及
FirstBlock
、SecondBlock
或第三 block
- 调试您的 HTTP 请求!
关于java - 设计使用http请求的应用程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954942/