笔记:MVC模式和MTV模式

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框架自身来实现了,如下图所示。

参考链接:

https://blog.csdn.net/Lq_520/article/details/81335894

https://www.cnblogs.com/huangjinshan/p/6479845.html

猜你喜欢

转载自blog.csdn.net/feiyang5260/article/details/88540700