(二十)、MVC设计思想的优缺点

MVC(Model、View、Controller)

一、什么是MVC?

  是一种软件架构的思想,将一个软件按照模型、视图、控制器进行划分。

  其中,模型用来封装业务逻辑,视图用来实现表示逻辑,控制器用来协调模型与视图(视图要通过控制器来调用模型,模型返回的处理结果也要先交给控制器,由控制器来选择合适的视图来显示 处理结果)。

  1、模型:业务逻辑包含了业务数据的加工与处理以及相应的基础服务(为了保证业务逻辑能够正常进行的事务、安全、权限、日志等等的功能模块)

  2、视图:展现模型处理的结果;另外,还要提供相应的操作界面,方便用户使用。

  3、控制器:视图发请求给控制器,由控制器来选择相应的模型来处理;模型返回的结果给控制器,由控制器选择合适的视图。

二、为什么要使用MVC?

1、使用MVC的思想来设计一个软件,最根本的原因是为了实现模型的复用:

  a.模型不用关心处理结果如何展示。比如,模型返回一些数据,然后交给不同的视图来展现(表格的方式、图形的方式等等)。

  b.可以使用不同的视图来访问同一个模型。

2、代码的维护性更好

  修改模型不会影响到视图,反过来,修改视图,也不会影响到模型。

3、方便测试

  比如,将业务逻辑代码写在servlet里面,需要部署到容器上,然后才能测试。而将业务逻辑代码写在java类里面,可以直接用main()测试(不依赖容器)。

三、如何使用MVC来开发一个web应用(javaee)

1、使用java类来实现模型,使用jsp来实现视图,使用serlet或者filter来实现控制器

  注意:模型也可以使用一些企业级的Java组件,比如,ejb,spring容器管理的JavaBean来实现。视图也可以使用jsf,模板技术(freemarker等)。

2、请求都发送给控制器(serlet),控制器依据请求的不同调用相应的模型(java类)来处理;模型返回的处理结果给控制器(servlet),然后控制器选择合适的视图(jsp)来展现处理结果。

四、MVC的缺点

  使用mvc,会增加代码量、相应地也会增加软件开发的成文,设计的难度也会增加。  

转载自:https://blog.csdn.net/daijin888888/article/details/51169156

很想高飞,但我不能;不想天空,剩我一人。
原文地址:https://www.cnblogs.com/lixiansheng/p/11299910.html