简述MVC
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
上述引用自一个大神的文章:https://www.cnblogs.com/diyunfei/p/6752618.html
我理解的MVC
通过Django理解MVC:
- 我们借助django的runserver命令启动IP:port,可以理解为是启动了一个控制器(C),它用于接收请求,并解析请求,然后根据请求中的信息,把请求转发的对应的模型(M)上。
- 模型(M)就是我们使用python代码定义的业务逻辑,根据请求做一些我们要做的事(删除数据,插入数据等),并返回一个视图(V)。
- 视图我们可以理解为有HTML,CSS,JS构成的web页面