MVC概念

MVC是一种软件设计规范,用将业务逻辑、数据、显示分离的方法组织代码,主要作用为降低业务逻辑与视图的双向耦合。MVC不是一种设计模式,是一种架构模式,不同的MVC之间存在差异。

M(Model)模型:JavaBean实现(DAO层与Service层)。Model数据模型,提供要展示的数据,包含数据与行为,实现功能

C(Controller)控制器:Servlet实现,转发重定向。

V(View)视图:JSP。

最典型的是JSP+Servlet+JavaBean的模式

早期的Web开发中,只有Model与View层,将Java代码嵌入JSP页面中。(Model1时代)

DAO层与Service层

传统数据库访问模式缺点显而易见: 
一就是各个模块间的耦合太紧,statement要依赖connection,connection还依赖于数据库的种类。 
二就是如果我改变的数据库的种类,或者要提供不同的数据库服务,那么我就要提供大量的重复代码。

dao层:dao层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查

service层:service层叫服务层,被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来,至于为什么service层要使用接口来定义有以下几点好处: 
service实现类:也顾名思义,service实现类实现了service接口,进行具体的业务操作。

在java中接口是多继承的,而类是单继承的,如果你需要一个类实现多个service,你用接口可以实现,用类定义service就没那么灵活

要提供不同的数据库的服务时,我们只需要面对接口用不同的类实现即可,而不用重复地定义类

编程规范问题,接口化的编程为的就是将实现封装起来,然调用者只关心接口不关心实现,也就是“高内聚,低耦合”的思想。这样进行分层,访问数据库和进行service之间的分工明确,如果我需要对service的需求修改,无需改变dao层的代码,只要在实现上改变即可,如果我有访问数据库的新需求,那我也只要在dao层的代码中增添即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值