浅析MVC分层架构的层次划分

早期分层——[M - V - C]:

MVC框架强制性的把各层的实现功能划分开,各自处理各自的任务,利于解耦和,极大的增强了代码的可读性、维护性。

  • M(Model)模型层——与数据库交互的数据模型,进行数据相关操作
  • V(View)视图层——与用户交互的数据区,负责收集展示数据
  • C(Controller)控制层——收到请求后,调用模型层与数据库交互获取数据,最后将数据返回给视图层(用户)—— 负责接收数据和逻辑处理
当用户通过浏览器发送请求到视图层(view)时,控制层(controller)分发调用模型层(model),进行数据库查询,(如果查询失败便新建),接下来,模型层(model)再将数据库查询到的数据返回给控制层(controller),控制层(controller)再将其返回给视图层(view),view层通过web页面把数据信息显示给用户。

目前市面上流行的实际分层方式[D - V - C+S]:

  • D(Dao)数据访问层(持久化层)——数据的增删改查,与数据库建立连接;封装了对数据库的curd操作

  • V(View)视图层——与用户交互的数据区

  • C(Controller)控制层——1、接收用户传递过来的数据,将数据封装到实体类中 2、调用业务逻辑层,处理进行业务逻辑的处理 3、根据业务逻辑层返回的结果,进行不同的页面跳转(显示)

  • S(Service)业务逻辑层——做一些业务逻辑地处理,并给控制层返回结果

  • 另外,由工具层(util),实体类层(model/po/pojo)(——JavaBean只有私有的成员变量和getter/setter方法),公共层被其他层调用,为其提供服务

【note】最大的变化就是 controller 层划分为了 controller + service 两层 —— 由 c 层控制、负责接收数据和逻辑处理 —> s 层处理逻辑业务 + c 层接收并筛选数据

接下来就大致模拟一个前台买家登陆注册系统,来感受一下MVC分层的优势:

  • controller层
    1.主要是接收用户传递过来的数据,将数据封装到实体类中
    2.调用业务逻辑层,进行业务逻辑的处理
    3. 根据业务逻辑层返回的结果,进行不同页面跳转(显示)
import java.util.Scanner;

public class UserController {
    UserService us = new UserService();
 //   GoodsService gs = new GoodsService();
    Scanner in = new Scanner(System.in);
    public void regist(){
        System.out.println("************欢迎进入用户注册模块****************");
        //接
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值