简单理解MVC

MVC 在笔者看来,可以简单理解为一种网页被动态生成的流程, M(Model)代表模型,可以视作数据源;V(View)代表网页;C(Controller)代表控制器,用于获得Model的数据,并最终生成View,然后通过HTTP等协议传输给使用者的浏览器。
(为了简化,以上理解方式仅仅描述了网页被输出给用户的情况,而省略了用户在网页中输入数据并传输给C的情况,这里请注意)

摘自:https://www.infolight.com/new/ShareDetail.aspx?DocumentID=NDUz

比”MVC”更好的理解方式——RCMV

MVC框架的叫法历史很悠久,但其实这个叫法并不能很好地描述服务器端的真实处理过程。因其遗漏了R(Router)的存在,以及处理的时间及逻辑顺序。

这里笔者推荐一种自创的理解方法——RCMV
因为用户在使用浏览器打开URL读取网页时,发生的事情的先后顺序是:
R→ 路由(Routing)读取了URL,根据URL找到了控制器C,
C→ C做了一些处理,且在某一时刻C问M拿数据
M→ M从数据库(DB)获得了数据,交给了C
V→ M心满意足地把数据处理的结果放到了V上,并把V发送给了用户的浏览器。至此,用户终于看到了网页。

而且,不仅仅是读取网页,用户在网页上输入信息后发送时也同样要经历RCMV这几个步骤。
所以,RCMV才是更合理,符合时间及逻辑顺序的理解方法。