MVC三层架构详解


MVC三层架构详解

本文详细介绍MVC三层架构


一、MVC是什么?

MVC实际是一种软件构件模式。它被设计的目的是为了降低程序开发中代码业务的耦合度。并且实现高重用性。增加代码复用率。部署快,且生命周期成本低,可维护性高也是MVC模式的特点。

1.什么是低耦合?

举个简单的例子:

从学程序之初,听到很多遍的一个名词就是低耦合。为什么一定要强调低耦合?我曾经听到过一个这样的说法,对于编程人员来说,喜欢米饭大于喜欢面条。为什么这么说呢,是因为面条经常是拌着卤汁吃,卤汁和面混淆在一起,你只能选择吃或者不吃。即使你不喜欢这个卤汁,你也无法把面条和卤汁一分为二,再换一个口味的卤汁过来。而米饭则不会有这种限制,因为米饭和菜往往是分开放的,即使你不喜欢吃面前的菜,那你完全可以换一个菜来吃。这就是低耦合。

2.低耦合有什么好处?

初学者往往不能体会到低耦合的好处,很难理解低耦合对于程序开发的重要性。

低耦合的好处在于,程序在开发中对于业务进行分层,各司其职,互不干扰,但又紧密结合,互相依赖。这样,无论是后期的调试,维护,还是二次开发,都能带来极大的便利。学过计算机网络的人应该知道TCP/IP协议,它把不同网络之间传输信息的过程从上到下分为四个层次,四个层次分别对不同的功能提供服务,可以说它们之间的业务是互不相干的。但是他们四个层次组合在一起才构成了整个TCP/IP协议,才实现了不同计算机之间的通信,四个层次缺一不可。假设现在想要对某个层次的功能进行扩充,那么我只需要去找到这一层就行,而不需要去改动整个四层模型。同样的道理,放在程序开发中也是一样的。低耦合的开发模式往往需要对整个业务实现分层开发,这样即使后期调试的时候发现了问题,那么问题出现在哪一层是非常清晰可见的。我们可以直接去找到该层进行二次调试,查找BUG。如果要扩展功能也只需要在各个层次之间添加上实现新功能的业务即可。如果不采用这种低耦合的分层开发,试想一下,所有的代码都放在一个Java文件当中,稍微复杂一点的项目都可能要几万十几万行代码。那么如果项目出了BUG该怎么在这十几万行代码中精准的找到错误将是一个巨大的工作量。而对于分层开发的项目来说,每个业务逻辑都清晰可见。那么调试和维护,以及二次开发时就大大减少了不必要的麻烦。

3.增加代码复用率

学习编程最初至今,你应该总会听到代码复用率这个名词。那么MVC是怎么实现增加代码复用率的?其实很好理解,假设现在车子的轮胎爆掉了,那么要去修理的话最多只需要换一个配套的轮胎,配套的轮胎很好找,因为车企总是有很多代工厂去生产这些配件。也有很多的汽修店可以满足我们的需要,我们不必再专门自己造一个轮胎。对于开发中的增强代码复用来说原理是类似的,因为我们使用了分层开发,那就意味着,别人造好的轮子,写好的方法,我只需要引进来就可以使用了,就不必再亲自实现这些方法。例如你现在写了一个登陆功能,写了SQL语句,要根据用户名和密码查询。那么在后台管理的时候,我们可能需要对用户信息进行列表展示。那么这个方法完全可以复用,实际开发中,显示所有信息和模糊查询信息往往都是只有一个方法来实现。而不是一个功能一个方法。这样就实现了代码的复用。

4.部署快,且生命周期成本低

MVC使开发和维护用户接口的技术含量降低。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员,前端工程师)集中精力于表现形式上。即,真正意义上实现了前后端分离开发。实现专业的人员干专业的工作,大大缩短开发周期。

5.可维护性高

分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。


二、MVC详解

1.MVC经典模式

M:

在经典MVC模式中,M代表的是模型,表示的是业务规则。在项目开发中,M代表的是实体模型,和service服务层,以及对数据库进行操作的dao层和它的实现类daoimpl层

V:

在经典模式中,V代表的是视图层,即直接和用户进行交互操作的页面就是视图层,无论是MVC经典模式还是在框架中(例如:SpringMVC),V的定义一直是最清晰直观的。在Servvlet-JSP技术开发中,V就代表的是JSP页面。

C:

C代表的是控制层,即控制请求转发和响应的层次。在经典MVC开发模式中C就是Servlet,它决定了我们的视图层传过来的数据和请求要传给业务层的哪一个方法来实现,并负责获得业务层处理请求完之后的返回值传回前端。在MVC框架中,C往往是Controller来充当。

2.MVC设计模式和MVC框架的区别

需要注意的是,MVC设计模式和MVC框架并不相同,初学者往往会觉得MVC就囊括了MVC框架。其实不然。
区别:

框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。

框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

根据天极网资料显示:基于Web的MVC framework在J2EE的世界内已是空前繁荣,TTS网站上几乎每隔一两个星期就会有新的MVC框架发布,比较好的MVC,老牌的有Struts、Webwork。新兴的MVC 框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等,这些框架都提供了较好的层次分隔能力,在实现良好的MVC 分隔的基础上,通过提供一些现成的辅助类库,同时也促进了生产效率的提高。 ----------《百度百科》


  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC中的MVC三层架构指的是Model-View-Controller,是一种软件设计模式,用于将应用程序分为三个独立的部分,分别是模型(Model)、视图(View)和控制器(Controller)。下面分别介绍这三个部分的作用和职责: 1. 模型(Model) 模型是应用程序中的核心,它负责处理数据和业务逻辑,与数据库进行交互,实现数据的增删改查等操作。模型封装了数据和业务逻辑,为控制器和视图提供数据和服务。 2. 视图(View) 视图是用户界面,它负责展示数据,与用户进行交互。视图通常是一个UI组件,如Web页面、窗口、控件等。视图从模型中获取数据,并将数据展示给用户。 3. 控制器(Controller) 控制器负责协调模型和视图,它接收用户的请求,调用相应的模型处理请求并获取数据,然后将数据传递给视图进行展示。控制器还负责处理用户的输入,根据用户的输入调用相应的模型进行处理。 MVC三层架构将应用程序分为三个独立的部分,使得应用程序更加模块化、可维护、可扩展。同时,MVC三层架构也提高了应用程序的安全性和可测试性,使得应用程序更加健壮和可靠。 在JDBC中,可以将模型看作是DAO(Data Access Object),即数据访问对象,它负责与数据库进行交互,实现数据的增删改查等操作;将视图看作是JSP或Servlet等,它负责展示数据,与用户进行交互;将控制器看作是Servlet或Controller等,它负责协调DAO和JSP或Servlet等,实现业务逻辑的处理和数据的交互。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值