SpringMVC——MVC概念
模式:
模式就是讲解决一类问题的方法抽象到理论层次。
模式的好处:
模式是一种概念,一种设计方式,使用适合的模式可以事半功倍的解决问题。
MVC设计模式:
举一个简单的例子,智能机器人来理解MVC模式。
M:model,模型层,概念来说其代表应用的业务逻辑,包含应用程序的核心功能。
V:view,视图层,概念上来说,提供模型的表示,他是应用程序的外观/表现。这一层可以去访问M层的读方法,但是不可操作写方法,换个意思说,也就是V层可以为M层提供数据。
C:Controller、控制层,提供应用的处理过程控制,这一层读取V层的数据,根据其输入,执行特定的M层逻辑,最后M层的逻辑执行之后,在传递至V层进行视图的转换。
按照智能机器人的理解来说,V层就是机器的外在表现,比如走路,唱歌等。
C层就是机器人的CPU,核心控制器,M层是机器人内在的一些逻辑,比如当有人和机器人交谈时,机器人的应答逻辑。
MVC就是机器人的走路唱歌等外在表现行为是单独存在的,他和一些交谈的逻辑没有之间关系,当有人和机器人交谈时,机器人通过其传感设备获取这一行为时,中央处理器就会去执行程序中定义的交谈逻辑,当数据处理完毕后,传感器将从逻辑中获取的信息,再次转换为机器人的外在表现——回答。
这里机器人的走路唱歌交谈等行为都是外在表现也就是V层,之后通过中央处理器将数据传入/传出的过程,其实就C层,当然进行交谈运算的这一层就是M层。
MVC三层解耦,减少业务逻辑、视图、控制器之间的耦合程度。
换句话说,MVC减弱了业务逻辑接口和数据接口之间的耦合。
|
|
|
上面就是简单的MVC介绍。
下面是比较详细的一幅MVC的功能示意图。
使用MVC的好处:
可靠性:表现层和业务层分离,这样修改表示层代码,就不用去重新编译M和C层。
高重用和可适应性:因为视图层和逻辑层/控制层分离,所以可以使用不同的视图去访问服务端代码。
较低的生命周期成本:MVC降低开发和维护接口的成本。
快速部署:这一点应该算是各司其职,因为之间的解耦,所以可以集中精力处理自己的业务逻辑。
可维护性:三层分离使得系统维护更简单。