引言:
MVC是一种设计思想,是无色无味看不见摸不着的。它是设计师脑子里的东西,而web的三层架构则是落地实现,也就是划分各部分的包(controller、service、dao),然后进行代码的编写。它是实打实的代码

MVC设计模式与JavaWeb的三层架构

  • MVC设计模式
    • 基本概念
    • mvc关系图
    • mvc模式好处
  • JavaWeb的三层架构
    • 三层架构
    • 三层架构图示
    • JavaWeb包的命名与三层架构
  • 二者的对应关系
    • 二者对应关系图
    • 补充

MVC设计模式

基本概念

MVC设计模式,它是施乐帕克研究中心在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC设计模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller),这3个模块的作用如下所示。

M:模型

模型(Model)负责管理应用程序的业务数据、定义访问控制以及修改这些数据的业务规则。当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法。(业务模型,处理业务)

V:视图

视图(View)负责与用户进行交互,它从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理。当模型的状态发生改变时,视图会对用户界面进行同步更新,从而保持与模型数据的一致性。(视图,界面展示)

C:控制器

控制器(Controller)是负责应用程序中处理用户交互的部分,它负责从视图中读取数据,控制用户输入,并向模型发送数据。(控制器,调用模型和视图)

mvc关系图

mvc模式好处

1、职责单一
2、有利于分工协作
3、有利于组件重用

JavaWeb的三层架构

三层架构

View(表现层):

本层由一系列的页面及视图组件组成,负责收集用户请求,并显示处理后的结果。

Service(业务逻辑)层:

本层由一系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

DAO(Data Access Object,数据访问对象)层:

本层由一系列 DAO 组件组成,这些DAO实现了对数据库的创建、查询、更新和删除等操作。

三层架构图示

JavaWeb包的命名与三层架构

view层所在包一般命名如下

com.xxx.web
com.xxx.servlet
com.xxx.controller

Service层所在包一般命名如下

com.xxx.service(Service接口包)
com.xxx.service.impl(Service接口实现类)

Dao层所在包一般命名如下

com.xxx.dao(Dao接口)
com.xxx.dao.impl(Dao接口实现类)

如果Dao层使用了mybatis,一般命名为

com.xxx.mapper

补充
实体bean对象

com.xxx.pojo
com.xxx.entity
com.xxx.domain
com.xxx.bean

测试包

com.xxx.text
com.xxx.junit

工具类

com.xxx.utils

一些常用的公共方法

com.xxx.common

过滤器

com.xxx.filter

配置类

com.xxx.config

二者的对应关系

二者对应关系图

补充

三大框架(ssm三大框架)其实是对三层架构的简化,springMVC简化表现层、mybatis简化数据访问层、spring简化业务逻辑层的开发。