【MVC】深入浅出MVC(三)——MVC分析

一、前言

      在前一篇博客中小编通过MVC和WebForm的对比来引出了MVC,但是还没有开始总结MVC,对MVC模式的整体的结构还没有向大家分析,所以在这一篇博客中,小编向大家分析一下MVC的组成。

二、再唠叨唠叨MVC

      MVC是一种将应用程序的逻辑层和表现层进行分离的方法。MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。

三、分析细节

3.1 模型(Model)

      模型是应用程序的主体部分。模型表示业务数据。通常来说,你的模型类将包含取出、插入、更新、删除你的数据库信息的功能。

3.2 视图(View)

      视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。一个视图通常是一个网页,但是在 CI中,一个视图也可以是一个页面片段,如页头、页尾。

      V层在本系统中主要是用来数据展示,本系统中V层主要是采用JSP技术。通过JSP技术可以很方便地把数据展示在web浏览器上。在JSP技术基础上,对其进行了改进,把html语言和java语言进行分离,这样既达到了解耦的目的,也使后续系统的维护变得很方便。把流程控制都放到Action层,把业务逻辑处理放在service层中,充分利用Struts2技术,在html页面中使用Struts2标签来展示数据,尽量减少在html页面上写java语句。

3.3 控制器(Controller)

      控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。是模型、视图以及其它任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。 由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松耦合的构件。 本系统是在MVC模式基础上来进行分层,由于本系统开发的工具是MyEclipse,在建立工程时开发工具就已经初步把系统分成MVC三层结构。模型层由Models层来充当,该层主要是用来存实体Bean类和Hibernate影射文件。通过该层开发者很方便地对整个工程下的Bean进行管理,同时也非常方便地对Hibernate配置文件进行影射,极大的提高了开发的效率,同时对以后系统的维护也非常方便。

      C层主要是用来做流程和逻辑控制,也是整个系统的核心层。所有进出系统的访问都要经过这一层的控制。本系统对C层时行了一些改进,我们把控制层又细分为Action层,service层和Dao层。Action层只管流程控制,Service层只管逻辑控制,Dao层只管与数据打交道,各施其职,每个层次只管自己的事情,这样能使整个系统的层次非常分明,不会出现功能的混淆。让开发者和维护者在编写代码的时候非常清晰。

四、小结

      MVC模型优点显然,但在实际开发过程中个人对采用MVC模式有一点点看法。马克思主义哲学告诉我们,任何事物都有它的局限性,MVC也不例外。MVC不是万能药,它并不能医治所有的疾病,作为一名医术高超的医生应该要能对症下药。MVC强制性地将业务逻辑层和表现层分开,在一定程度上是能很好地松耦合,但这种做法是会带来开发和运行的开销的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值