为什么要有请求模型?

时间:2019-04-21 06:17:04

标签: clean-architecture

创建请求模型对象并将其传递给交互器的理由是什么?

为什么不只是将数据作为参数传递而跳过分配?对我来说,这似乎是一个短暂的对象。

我想念什么?

2 个答案:

答案 0 :(得分:2)

摘自Bobs叔叔的书《清洁建筑》:

  

用例类接受简单的请求数据结构作为其输入,并返回简单的响应数据结构作为其输出。这些数据结构不依赖任何东西。它们不是从标准框架接口(例如HttpRequest和HttpResponse)派生的。他们对网络一无所知,也没有共享任何可能存在的用户界面的陷阱。

关键方面是“请求数据结构”(请注意“ s”)是独立且简单的数据结构。只要传递给交互器的数据结构是编程语言/环境(例如.Net或Java)的原语,或者已在用例层中定义了这些数据结构,就不必为每个交互器创建专用的请求模型类型。

答案 1 :(得分:2)

我使用请求模型来验证“第一视图”中的输入值-int值是int值,字符串不超过5个字符,依此类推。 因此,它主要负责:虚拟(类型)检查和对话。

请求还有助于将多个输入值分组在一个块中。 为了获得响应,我来介绍一些结构,这些结构具有可选的“有效载荷”(预期响应)和许多有关错误的标志。第一次,我尝试放置错误对象(当然是在用例层中),但是遇到了问题:需要将问题转换为实际的视图实现语言。有了标志,我就可以看到用例中可能发生的具体问题,而且我知道我应该为它们实现处理。