一、什么是模式
模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式
二、MVC设计模式
MVC设计模式: Model-View-Controller 简写。
MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑
与显示界面
的设计方法。它把软件系统分为三个基本部分:模型(Model)、 视图(View) 和控制器( Controller)。
- 控制器Controller:对请求进行处理,负责请求转发。
- 视图View:界面设计人员进行图形界面设计。
- 模型Model:编写程序应用的功能(实现算法等等)、数据库管理。
MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。
注意,MVC不是Java 的特有的
,几乎现在所有B/S结构的软件都采用了MVC设计模式。
三、JSP开发模式
当SUN公司推出JSP后,同时也提供相应的开发模式,JavaWeb 经历了JSP Model1第一代,JSPModel1第二代,JSP Model2三个时期。
1、JSP Model1第一代
JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低! Model1 第一代时 期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利
。
`(高内聚低耦合: )
2、JSP Model1第二代
JSPModel1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作
,JSP 中把视图工作和请求调度(控制器)的工作耦合在一起了。
3、JSP Model 2
Model2使用到的技术有: Servlet、 JSP、JavaBean。Model2是MVC设计模式在Java语言的具体体现
。
- JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户。
- Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图。
- JavaBean:模型层,完成具体的业务工作,例如:转账等。
四、三层架构
JSP模式是理论基础,但实际开发中,我们常将服务器端程序,根据逻辑进行分层。一般比较常见的是分三层,我们称为:经典三层体系架构。三层分别是:表示层、业务逻辑层、数据访问层。
- 表示层:又称为web层,与浏览器进行数据交互的。
- 业务逻辑层:又称为service层,专门用于处理业务数据的。
- 数据访问层:又称为dao层,与数据库进行数据交换的。将数据库的一条记录与JavaBean进行对应。
1、三层架构包命名:
(1)简单版
命名 | 描述 |
---|---|
cn.cyl | 公司域名倒写 |
cn.cyl.dao | dao层实现 |
cn. cyl. service | service层实现 |
cn. cyl. web. servlet | web 层实现 |
cn. cyl. domain | JavaBean |
cn. cyl.utils | 工具 |
(2)完整版
命名 | 描述 |
---|---|
cn.cyl | 公司域名倒写 |
cn. cyl.XXX | 项目名称 |
cn. cyl. XXX. yyy | 子模块 |
cn. cyl. XXX. yyy .dao | 子模块dao层接口 |
cn. cyl. XXX. yyy . dao. impl | 子模块dao层实现类 |
cn. cyl.XXX. yyy .service | 子模块service层接口 |
cn. cyl. XXX. yyy. service. impl | 子模块service层实现类 |
cn. cyl. XXX. yyy . domain | 子模块JavaBean (子模块yyy可省略) |
cn. cyl. XXX. yyy .web. servlet | 子模块web层,servlet |
cn. cyl.XXX. yyy.web. filter | 子模块web层,filter |
cn. cyl.XXX.utils | 工具 |
cn. cyl. XXX. exception | 自定义异常 |
cn. cyl. XXX. constant | 常量 |
五、三层架构和MVC有什么区别
- 首先,声明一下,三层是三层,MVC是MVC,这俩是毫无关系的。
三层架构是Java体系独有的专有名词,MVC在其他语言中也是存在的设计模式。 - 三层架构没有Controller控制器,MVC没有把业务的逻辑访问看成两个层。他们都有一个表现层。三层架构的Model层是以实体类构成的,而MVC的是由业务逻辑与访问数据组成的。
- 对于,我们JAVA开发者来说:
三层架构是表现层(Web)业务逻辑层(Service)和数据访问层(Dao)构成的。
MVC设计模式是模型层(Model)视图层(View)和控制层(Controller)构成的,严格说这三个加起来以后才是三层架构中的WEB层
,也就是说,MVC把三层架构中的WEB层再度进行了分化,分成了控制器、视图、实体三个部分。