我正与一位同事进行一场“辩论”,讨论MVC“模式”中的观点。我们都来自网络世界 - 所以我们都试图将“严格”的MVC概念“融入”“模型2”(我刚刚意识到的)世界。
他认为WHATEVER来自模型IS视图......无论是JSON,EDI,HTML等,它都是“最终消费者”消费的东西,无论是浏览器还是其他系统......
我认为UI是视图,在我们的例子中是HTML ......或者它可能是FLASH或其他一些UI。但是JSON或其他一些格式化的数据被转移到另一个系统或浏览器不是MVC中的VIEW,而是传输和消费的数据包,很可能是另一个控制器......然后传递给VIEW,或者不同的模型。
**SERVER** (Model - business logic)
**CONTROLLER** (server side script, or javascript on client - seems the roles are split these days)
**VIEW** (browser, either web, vector or some other UI)
我认为控制器在服务器和客户端之间分配是正确的 - 特别是在Web应用程序世界中?或者这仅仅是服务器上的MVC架构与客户端上的MVC分离的情况......因为有JS MVC框架......
最后 - 写一个WEB API是否意味着用于MVC - 如果它将被客户端上的JS应用程序使用?
谢谢大家的专业知识和投入。
ADDENDUM - 这些讨论中的一些很明显,曾经是一个系统上的MVC,在Web上扩展到了MVC,它推动了V与MVC的直接连接,不仅如此,而且客户端已经成熟到足以使客户端MVC系统成为常态......并且随着“设备”成为自己的MVC,是与外部系统通信的VIEW还是与不同系统控制器通信的MODEL ...我认为如果我开始封装系统,它就开始有意义了......
答案 0 :(得分:0)
控制器在mvc中的工作是控制模型(数据)和视图(显示)之间的交互。无论是在服务器上还是在客户端上发生这种情况都无关紧要。除了如何显示数据之外,视图对数据一无所知。数据应独立于视图。如果您没有使用视图,那么您将不需要模型(我的意思是视图模型)。那你就是在做数据请求。