在我们学习SpringMvc前我们首先得去了解Mvc是什么,那到底什么是Mvc呢?接下来就逐一罗列分享。
一、什么是Mvc?
Mvc(Model_View_Controller)模式是软件工程的一种软件架构思想。它把软件系统分为三个基础部分:
- 模型层(M):数据模型+业务模型(提供重用的数据模型,反复使用)
- 视图层(V):用户交互(前端界面展示)
- 控制层(C):处理用户交互(负责转发请求,对请求进行处理)
二、Mvc工作流程
1、用户向视图层发起请求
2、控制层接收请求-调用业务类-派发页面
3、模型层处理数据-返回处理结果
4、重新通过控制层将数据返回做视图渲染
5、响应给用户
三、为什么要采用Mvc,这样子有什么好处呢?
1、低耦合
视图层和控制层采用前后端分离,更改视图层代码不必去重新编译控制层和模型层。三个部件绝对独立,无论更改任何一层的代码都不会去影响其他层。所以依据这套模型能很好的实现低耦合。
2、重用性高
不管请求方式如何改变,控制层和模型层逻辑和数据都不必发生变化,只需改变视图层即可。
3、生命周期成本低
开发维护接口技术含量降低。
4、部署快
清晰的分配工作任务,使得程序员可以专攻前端或后端。当然还是会有强大的全栈工程师
5、可维护性高
前后端分离有利于维护和更新
6、有利于工程化
分离起来可以更好管理代码,利用重用灵活转换。
那么有优点肯定会有瑕疵,没有什么是没有弊端的,还是一句话根据开发背景合理采用。
1、没有明确的定义
使得调试程序十分麻烦,所以得清楚分析系统的架构才能进行分层
2、不太适合中、小型程序
花大量时间去部署一个不是很大的程序反而效果不是很好
3、增加系统结构和实现复杂度
对于简单的界面来说,非要严格遵循 MVC 模式,使模型、视图与控制器分离的话,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
4、视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问
视图与控制器是相互分离,但却是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
Mvc就暂且了解一下Mvc,接下来步入我们的正题.