一、mvc的组成部分
为了让应用的前、后端分离,mvc巧妙的将一个应用分为了三个部分:
V——视图层
主要用于界面的展示,同时还需要将用户提交的数据通过表单的方式提交给控制层,并对提交的数据进行校验。
C——控制层
主要是进行视图层和模型层的交互,接收视图层传过来的参数,并根据逻辑判断所需要的数据,调用模型层的方法获取数据库中的数据,然后再返回给视图层。
M——模型层
主要是对数据库进行增、删、改、查操作。
接下来我们就来总结一下采用mvc思想应用的工作流程
首先用户在视图层通过浏览器发送请求,视图层通过自身校验后,以表单的方式提交给控制层,控制层接收请求、获取参数后,再根据需求通过模型层对数据库进行增删改查操作,控制层再将结果返回给视图层。
二、采用mvc思想的优缺点
1.mvc的优点
(1):低耦合性,高内聚性,通过MVC的框架将一个系统分成视图层、控制层、模型层,比如只需要改变视图层而不需要重新编译模型和控制器代码,同时一个应用的业务流程或者业务规则的改变只需要改变模型层而不需要去修改视图层和控制器层的代码。
(2):高重用性,可以通过不同的视图层访问到模型的数据,只需要在控制器层对数据格式做处理,而不需要修改模型层的代码。
(3):可维护性,分离出模型层、视图层、控制层,使得代码更容易维护
(4):项目工程化管理,由于不同的层各司其职,有利于工程化、工具化管理代码
2.mvc的不足体现在以下几个方面:
(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
(4) 目前,一般高级的界面工具或构造器不支持MVC架构。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。