MVC设计结构

MVC设计结构

在Java代码中,为了减少代码的耦合性,以及保证代码更好的进行延展。衍生了一种经典的MVC模式。M是指业务模型(model的简写,指代data),V是指用户界面(view,视图),C则是控制器(controller,对于view和model进行任务调度)。

V即View视图,是指用户看到并与之交互的界面。在本地应用程序中可以理解为JPanel;在企业级的开发任务中,可以理解为JSP等可以输入html语言的界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,视图只负责展示数据,它只是作为一种输出数据并允许用户操纵的方式。

M即model模型,指的是data。包含了JavaBean,DAO和Service层的模型。JavaBean负责呈现一种ORM的程序设计思想,将数据库中的每一条记录与对象联系起来;DAO是一种用于连接数据库的层次结构,以JDBC为基础,不同的框架对其进行不同的封装,大大简化了JDBC代码中的CRUD部分(增删改查),如Mybatis,Hibernate,Jpa等;Service层在于将DAO层中进行的数据操作生成数据模型:如使用Java语言编写一个账本,要计算每月的总支出金额total,DAO层负责将当月与支出相关的每一条数据都查询出来(List),Service层负责对金额进行加总(Pay中的cash列),加总结果即为total,可以被View视图呈现出来。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

C即controller控制器,是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求(这里调用Service层中的模型,和JavaBean中的set,绝对不会调用DAO层,不然Service层就失去了设计的意义),然后再确定用哪个视图来显示返回的数据。

MVC设计模式,分为前后分离和前后不分离两种类型。
前后不分离:JSP + Servlet + JavaBean。JSP + Servlet 的缺点在于前端工程师与Java工程师没有明显的职能区分,一般在银行有这种工种,统称为开发。相对于前后分离来说耦合性较高,一旦在上线的过程中发生bug,不好进行代码的排查工作,而且开发进度较慢。

前后分离:SSM, SSH, SpringBoot, SpringCloud。框架的使用大大减少了开发的难度,Java工程师与Web前端工程师各司其职,专人专项。互联网公司一般都会进行这样的职能划分。耦合性相对较低,项目延展性较好,在联调的过程中代码出现bug容易排查错误发生在哪里。后端和前端可以先自己做自己的,传输数据的时候使用ajax即可。但写ajax非常麻烦,非常非常麻烦。但有了这么多的优点,ajax的麻烦就忍一下吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值