![]() |
1
3
没有什么限制你这么做,但通常 不 预期。从标准MVC的传统观点来看 控制器 层负责这样的任务。 但是,为了避免“海量视图控制器”问题,可以应用“MVC-N”方法。实际上,它只是一个标准的MVC+网络客户端!从而导致:
所以,可以这样说: 显然,网络处理API请求、反序列化响应(作为模型)并将其传递给视图控制器;因此控制器应该 不 了解模特。网络和控制器层之间的通信通常由 关闭 ,有时您可能需要遵循委托的方法。 回到您的案例,您将把代码优化为(伪代码):
在视图控制器中:
当然,该逻辑也适用于任何指定的任务功能,而不仅仅是网络功能,例如获取设备照片(访问系统资源)或从磁盘写入/读取数据。 |
![]() |
2
0
在一个数据模型类中,我通常有init,它可以从API提供的任何内容创建模型类的实例;如果我必须使用两个API,我将有两个init方法。当然,如果我将数据模型实例发送到API,那么方法可以创建API所期望的任何数据。 因此,如果我有一个API将数据作为JSON传递,另一个API使用完全不同的名称将数据作为XML传递(我通常无法控制API中的命名),那么我将有两个in I t将JSON或XML作为参数。 在我看来,做网络接入是一个过分的步骤。尤其是因为我经常使用包含由不同模型对象表示的数据的api。就像一个“库”API,它可以返回一本书、一张CD或一张DVD,调用应该产生三个不同的模型类中的一个。在这种情况下,您可能没有API调用“give me a book”,只有“give me an item In the library”返回可能属于几个模型类之一的实例。 |
![]() |
KollegeBo · 触发更新的POST或GET 2 年前 |
![]() |
mariolototo · 无法获取“/”express以外的路线 2 年前 |
![]() |
nnmmss · 根据查询字符串值激活li 2 年前 |
![]() |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 2 年前 |
![]() |
Bruno Vavretchek · JSON模型建议 6 年前 |
![]() |
Pasha · 如何在@RequestBody中传递2个对象? 6 年前 |