MVC
什么是MVC
MVC是一种软件架构模式
,把软件系统分为三个部分,即Model(模型)、View(视图)和Controller(控制),实现了Model和View的分离。几乎适用于所有B/S架构
。
组成结构
Model
最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。
目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化
,并且使程序某一部分的重复利用成为可能
。
View
最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。
Controller
中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。
特点
优点
-
耦合性低
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 -
重用性高
MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型。 -
MVC使开发和维护用户接口的技术含量降低。
MVC使开发和维护用户接口的技术含量降低。 -
系统设计思路清晰,可维护性高
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
缺点
- 不适合小型中等规模的应用程序(因为对应功能简单,没有必要这么复杂)
产生原因
在最初的JSP网页中,像数据库查询语句(SQL query)这样的数据层代码和像HTML这样的表示层代码是混在一起
。虽然有着经验比较丰富的开发者会将数据从表示层分离开来,但这样的良好设计通常并不是很容易做到的,实现它需要精心地计划和不断的尝试。MVC可以从根本上强制性地将它们分开。尽管构造MVC应用程序需要一些额外的工作
,但是它带给我们的好处是毋庸置疑的。
应用
-
在javaweb中:
- Model:自己写的代码(javabean)
- View:JSP
- Controller:Servlet
参考文献
http://www.ruanyifeng.com/blog/2007/11/mvc.html —MVC模式
https://zh.wikipedia.org/wiki/MVC —MVC模式
https://baike.baidu.com/item/MVC框架/9241230?fromtitle=mvc&fromid=85990#6 —MVC模式