MVC模式
MVC是一种框架模式,它用于程序的分层开发,能将程序的输入,处理,输出分开.
MVC要实现的目标是将软件用户界面和业务逻辑分离,以使得程序具有更好的扩展性,可复用性,可维护性和灵活性。
Model(模型)
表示企业数据和业务规则(可以说是后端接口,用于业务处理)
View(视图)
即用户交互界面(例如html,php等)
Control(控制器)
接受用户输入,并调用模型和视图去完成用户的需求(根据用户请求,调用对应的接口,然后模型业务处理后的返回的数据,由控制器决定调用哪个view显示)。
控制器一般不做业务逻辑处理。用来调度View层和Model层,将用户界面和业务逻辑合理组织在一起,起粘合剂的效果。因此Controller中内容能少则少,这样才能提供更大的灵活性。
比方说,有一个View会提交数据给Model进行处理以实现具体的行为,View通常不会直接提交数据给Model,它会先把数据提交给Controller,然后Controller再将数据转发给Model。假如此时程序业务逻辑的处理方式有变化,那么只需要在Controller中将原来的Model换成新实现的Model就可以了,控制器的作用就是这么简单, 用来将不同的View和不同的Model组织在一起,顺便替双方传递消息,仅此而已。
一个MVC模型的java例子:http://www.runoob.com/design-pattern/mvc-pattern.html
参考链接:
https://www.cnblogs.com/wchxj/p/8012215.html
https://blog.csdn.net/zuiyingong6567/article/details/80150834
MTV模式
MTV对应Model(模型),模板(Templates),视图(View)
Django的MTV模式本质上和MVC模式没有什么区别。
MVC中的view目的是[呈现哪一个数据],而MTV的View目的是[数据如何呈现]。即MTV把View分成了视图(展现哪些数据)和模板(如何展现),即MTV中view取要展示的数据,给模板来展示数据,而Controller由Django框架自身来实现了,如下图所示。
参考链接: