作为一个更大的学校项目的一部分,我使用MVC模式进行应用程序设计,现在有了添加远程监控站的新要求。似乎代理模式最适合远程监视器但是... 将代理挂钩到视图中是否有意义,或者我是否需要其他类似适配器...或挂钩到模型中并使用新的客户端的视图/控制器?
这是我试图描述的基本UML示例。
答案 0 :(得分:0)
您可以对Controller进行建模,其中Controller访问Proxy以检索其数据,然后在模型中包含该数据以供显示视图。这将允许您执行某些操作,例如隐藏API访问密钥或来自客户端的其他凭据(在使用许多第三方服务时非常重要)。这也允许您在控制器级别执行缓存来自代理的值 - 或者更可能是控制器和代理之间的注入方面[即另一个代理]。
但是,在某些情况下,您从客户端和Web应用程序中考虑此问题,您可能在逻辑上会想到生活在视图中的解决方案(在逻辑上可以考虑JavaScript的情况)。实际上,实际的设计是你拥有的客户端代码存在于视图中,该代码分解为自己的UML模型,其中包含控制器,模型,视图等。您可以在缓存的情况下执行此操作服务器后端不重要,或敏感的凭据信息不应该离开客户端的机器。
当您从等式中删除JavaScript并且您只考虑一个vanilla MVC设计时,我认为让控制器访问代理更好。