概述
MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。
使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如Windows系统资源管理器文件夹内容的显示方式,下面两张图中左边为详细信息显示方式,右边为中等图标显示方式,文件的内容并没有改变,改变的是显示的方式。不管用户使用何种类型的显示方式,文件的内容并没有改变,达到M和V分离的目的。
MVC每层之间的逻辑关系:
M:Model,模型。 JavaBean
- 完成具体的业务操作,如:查询数据库,封装对象
V:view视图。JSP、HTML等来进行数据展示
C:Controller 控制器、 Servlet
-
获取View的请求
-
调用模型将数据交给视图进行展示
优缺点
- 优点:
- 耦合性低,方便维护,可以利于分工协作
- 重用性高
- 部署快,生命周期成本低
- 可维护性高
- 缺点:
- 使得项目架构变得复杂,对开发人员要求高
- 调试困难
- 不适合小型,中等规模的应用程序
- .视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问