MVC设计模式与JavaWeb的三层架构
引言:
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简化业务逻辑层的开发。
MVC设计模式与JavaWeb的三层架构相关推荐
- C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什...
C# 框架是什么? MVC是什么 ? 工厂模式是什么? 设计模式是什么? 三层架构是什么? 如果要学我该从何学起??? C# 框架看这里 http://download.csdn.net/source ...
- javaweb基本三层架构并使用Eclipse开发Servlet
javaweb基本三层架构并使用Eclipse开发Servlet JAVAEE分层模型 web应用程序基本架构 Domain Object Data Access Object 业务逻辑层 控制器层 ...
- java框架三层架构是_MVC框架模式和Javaweb经典三层架构
一.MVC设计模式 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Co ...
- Javaweb经典三层架构的演变
1.Javaweb经历了三个时期 ①JSP Model1第一代 JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有 ...
- javaWeb 11(三层架构)
分层模式 分层模式是最常见的一种架构模式 分层模式是很多架构模式的基础 分层 将解决方案的组件分隔到不同的层中 在同一个层中组件之间保持内聚性 层与层之间保持松耦合 三 ...
- 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC
阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...
- 简述mvc和java三层框架,springMVC设计模式和javaWeb三层框架
一.springMVC 设计模式 MVC模式是软件工程中的一种能够软件架构模式,把软件分为三个基本部分,模型(model).视图(view)和控制器(controller).使程序简化,更加直观. ...
- 浅谈javaweb三大框架和MVC设计模式
浅谈javaweb三大框架和MVC设计模式 转载自:http://blog.csdn.net/sunpeng19960715/article/details/50890705 小序:博主以前在学jav ...
- Java-Web JSTL标签库、自定义标签库和MVC设计模式
目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...
最新文章
- [转载] 七龙珠第一部——第091话 克林反败为胜
- macos可以升级到指定版本吗_iOS13系统终结版本即将出现,iOS13.5还值得升级吗
- JS中使用bignumber处理高精度小数运算
- 95-230-028-源码-WordCount走读-获取ExecutionGraph
- 12.04 ubuntu 安装微软雅黑的字体
- 用HTML和CSS制作简单的静态网页
- NOD32中小企业服务器版部署方法
- Windows 11 修改Edge按 Alt+Tab 键为单个窗口
- 爬虫入门(3)——拉钩网
- POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?
- Python—网络编程_Mail
- iframe内嵌标签
- 1143-最长公共子序列的长度和最长公共子序列
- android 关机 流程_android 关机 流程分析
- STC89C52单片机串口通信以及代码演示
- python的学习笔记案例3--基础代谢率计算1.0
- DES Wrong Key Size错误
- 编码训练营 vs 大学:哪个将帮助您获得科技行业最有声望的工作?
- Greendao多线程下载
- 如何做好独立的B2C商城系统运营,实现转化与交易?——甲由科技
热门文章
- Haskell超简单自学笔记-01安装及入门编程
- 骁龙820A: 高通车联网诱惑力的代表
- css文本超出 自动换行
- 【桌面开发】vscode+Debugger-For-NWjs+nwjs-sdk-vx.x.x-xxos调试环境搭建
- 《贝叶斯思维:统计建模的Python学习法》一1.3 曲奇饼问题
- Part I 空气曲棍球 Chapter6(6.8 Adding Rotation)
- java byte 拓展_Java字节码文件的扩展名是( )。
- unity-个人开发技巧
- 简单聊一聊磁珠,电感和0R电阻
- uniapp小程序_安卓_Android的校园报修管理APP-ssm框架