MVC设计模式详解

MVC设计模式详解


MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。不同的技术人员可以通过自身的专长分组

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

(控制器Controller)- 负责转发请求,对请求进行处理。
(视图View) - 界面设计人员进行图形界面设计。
(模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。Model层一般又细分为
业务层(Service层)和数据访问对象层(Dao层)
MVC架构模式的示意图:

MVC设计模式详解_第1张图片

首先是View视图层:作为视图来说,它并不去真正的处理逻辑或者获取数据,也不关心逻辑如何处理,数据从何而来,它的任务就是将数据展现给用户,然后从用户处获取到想要提交给服务器的数据。也就是用户交互的部分。
        然后是Controller控制层:作为控制层,它也不是执行逻辑的地方,但是它能接收从视图层从用户那获取的相关参数或者数据,然后分配给模型层的具体类去执行相关的操作,就像一个部门经理,也许他并不知道如何去做一件事情,但是他肯定知道谁最适合做这件事情并分配任务下去(这是非常重要的一个能力!)。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
        最后是Model模型层:作为模型层,它会按照控制层分配的任务执行业务逻辑,如果涉及到数据库的使用,也会进行数据的存储、获取或修改。而且,它会向控制层返回执行的结果,然后由控制层把结果转给视图层去展示。
 
 
那么MVC的架构模式到底有什么好处呢?
        1.低耦合性
        视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
        2.高重用性和可适用性
        随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何 WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是 一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这 些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
        3.较低的生命周期成本
        MVC使开发和维护用户接口的技术含量降低。
        4.快速的部署
        使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
        5.可维护性
       分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
       6.有利于软件工程化管理

 

你可能感兴趣的:(java)