8. 浅谈 MVC与三层架构

文章目录

  • 引言
  • MVC设计模式
  • 三层架构

引言

使用Eclipse开发工具写Java Web项目时会发现,一个中型或者大型项目随着代码的增多,会发现:代码既可以写在src目录下,也可以写在WebContent目录下。src下可以建很多包 ,WebContent下可以建很多文件夹

所以问题就来了:一个新的类 到底往哪个目录下的哪个文件夹里写?

此时解决办法就是:需要一个模式去规范,到底哪个类该往哪里写


MVC设计模式

什么是mvc?

Model      View       Controller      模型、视图、控制器

Model

  • 业务处理:业务逻辑(service)
  • 数据持久层:CRUD(Dao)

View

  • 展示数据
  • 提供链接发起Servlet请求

Controller(Servlet)

  • 接收用户的请求(req:请求参数、Session信息。。。)
  • 交给业务层处理对应的代码
  • 控制视图跳转

8. 浅谈 MVC与三层架构_第1张图片

视图View

负责页面的显示;与用户的交互。包含各种表单。 实现视图用到的技术有html/css/jsp/js等前端技术。

用户交互:用户鼠标点击页面;填写页面中各种表单…等等

模型Model

模型负责各个功能的实现(如登录、增加、删除功能)。模型用JavaBean实现。

8. 浅谈 MVC与三层架构_第2张图片

控制器Controller

控制器负责将视图与模型一一对应起来。相当于一个模型分发器。所谓分发就是:
①接收请求,并将该请求跳转(转发,重定向)到模型进行处理。
②模型处理完毕后,再通过控制器,返回给视图中的请求处。
建议使用Servlet实现控制器。



三层架构

首先来说,三层架构与MVC的目标一致:都是为了解耦和、提高代码复用。MVC是一种设计模式,而三层架构是一种软件架构。

三层架构分为 :

表现层(UIL)(web层)
业务逻辑层 (BLL)(service层)
数据访问层 (DAL)(dao层)
再加上实体类库 (Model)

1.实体类库(Model),在Java中,往往将其称为Entity实体类。数据库中用于存放数据,而我们通常选择会用一个专门的类来抽象出数据表的结构,类的属性就一对一的对应这表的属性。

·一般来说,Model实体类库层需要被DAL层,BIL层和UI层引用。

2.数据访问层(DAL),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作

·DAL就是根据业务需求,构造SQL语句,构造参数,调用帮助类,获取结果,DAL层被BIL层调用

3.业务逻辑层(BLL)

BLL层好比是桥梁,将UI表示层与DAL数据访问层之间联系起来。所要负责的,就是处理涉及业务逻辑相关的问题,比如在调用访问数据库之前,先处理数据、判断数据。
BLL层只被UIL层引用

4. 用户表现层(UIL),就是用户看到的主界面。

各层引用关系如下图所示:

8. 浅谈 MVC与三层架构_第3张图片

MVC与三层架构的对应关系 ,图示如下:

你可能感兴趣的:(#,JavaWeb--idea版,mvc,javaweb)