0

作为一个更大的学校项目的一部分,我有一个使用 MVC 模式的应用程序设计,现在有一个新的需求来添加一个远程监控站。似乎代理模式最适合远程监视器,但是......将代理挂接到视图是否有意义,或者我是否需要其他东西,如适配器......或者挂接到模型并使用新的视图/控制器在客户端?

这是我试图描述的基本 UML 示例。

在此处输入图像描述

4

1 回答 1

0

您可以在控制器访问代理以检索其数据的地方对此进行建模,然后将该数据包含在模型中以供视图显示。这将允许您执行某些操作,例如从客户端隐藏 API 访问密钥或其他凭据(在使用许多第三方服务时非常重要)。这还允许您在控制器级别执行诸如缓存来自代理的值之类的事情 - 或者更可能是控制器和代理之间的注入方面[即另一个代理]。

但是,在某些情况下,您会从客户端和 Web 应用程序中考虑这个问题,您可能会逻辑地认为解决方案存在于视图中(就您可能逻辑地考虑 JavaScript 而言)。实际上,实际设计是您的客户端代码位于视图中,该视图分解为自己的 UML 模型,其中有控制器、模型、视图等。在服务器后端缓存不重要的情况下,您会这样做,或者敏感的凭证信息不应该离开客户端的机器。

当您从等式中删除 JavaScript 并且您正在考虑一个普通的 MVC 设计时,我相信让控制器访问代理会更好。

于 2014-12-07T06:32:59.540 回答