我在 youtube 上观看了斯坦福大学的一些 Swift 教学视频。讲师(Paul Hagerty,伟大的老师!)讲述了 iOS 是如何围绕 MVC(模型- View - Controller )的思想构建的。我在 stack overflow 上看到有人说这个想法已经死了,还有人说现在很多网络开发人员都在使用这个术语。
我无法区分 Controller 和模型。我读过 MVC 被描述为用户界面(网页/UI)、 Controller (服务器)和模型(数据库)。但是讲师将其描述为 View (UI,易于理解),模型(例如进行计算的数据和逻辑)和 Controller (将模型和 View 与您的特定编程逻辑连接起来)。
我不明白的是,如果在独立应用程序(不是网络)的情况下没有数据库,我们不是也在同时创建程序如何工作的数据和逻辑吗?在这种情况下, Controller 和模型有什么区别?
最佳答案
冒着因过度简化而被钉在十字架上的风险:您可以将 MVC 视为一种分离“关注点”的方法 - 在英语中 - 每个都有自己的“责任”(关注点分离)。
因此,在您的“简单示例”中,您可以将概念“分离”为客户端和服务器 - 冒着更大的耻辱风险,浏览器
和一些网站。
controller
:浏览器接收用户输入并向其发出请求;model
:一个响应一些数据的网站,这些数据可能只是一个 HTML 文档view
:浏览器将数据呈现给用户
所以:
浏览器并不“知道”数据是如何创建/构建的,它只是管理请求/响应并显示结果
网站所做的只是构建一些数据并将其(返回)给请求者。它不关心它是如何被使用/渲染/显示/过滤等的。
View 所做的只是以某种对用户有意义的方式呈现/显示数据。它不关心数据来自哪里,也不关心数据是如何构建的。
嗯。
关于ios - MVC, Controller 和模型之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41841171/