系统开发模型
- 系统开发模型,即系统架构,是指整合应用系统程序大的结构。经常提到的系统结构有两两种:三层架构和MVC。 这两种结构既有区别又有联系。但是这两种结构的是使用,都是为了降低系统模块间的耦合度。
- 传统的javaWeb项目的系统开发模型大体经理了四个阶段:纯JSP、JSP+JavaBean的Model1、MVC的Model2、MVC+三层架构。
1. JSP开发模型
- ”纯JSP“开发模型中将所有业务逻辑、数据显示功能都由JSP页面完成。其缺点是很明显的:JSP页面中的代码结构很乱、显示功能与业务代码没有划分开,维护与升级相当麻烦...
- 此时JSP既用来处理业务,又用来显示内容。
- 这种模型不是只存在一个JSP,存在多个JSP之间的跳转。
2. JSP+JavaBean的Model1
- JSP大部分用来显示内容,但是还有一部分是用来处理业务,JSP页面还承担着大量的请求解析、业务处理功能。
- JavabBean(就是一个Java类)用来处理业务。将JSP中的业务从JSP中分走了一部分。
- 这里也不是只存在一个JSP与一个JavaBean,也是多个之间的跳转。
2.1 JavaBean
- JaveBean根据具体的概念的不同,可以分为两大类:广义JavaBean与JavaBean。
所谓广义JavaBean,就是指一般意义上的Java类,其主要功能有两个:承载数据与业务处理。所以广义的JavaBean又分为两类:数据承载Bean与业务逻辑承载Bean。
- 数据承载Bean就是指实体类,专门用于承载业务数据的,如Student、User等
- 业务处理Bean则是指Servlet或Dao对象,专门用于处理用户提交请求的。
侠义JavaBean,是指符合SUN公司提出的“JavaBean”规范的Java类。 JaveBean规范规范,满足以下四点的Java类,称为JavaBean:
- 该类需要是公共的,即public class...
- 该类需要实现 Serializable(序列化)接口。
- 该类需要具备无参构造器,无论是默认的,还是显示定义的。
- 该类如有成员变量,这些成员变量必须是私有的,且需要提供这些私有成员变量的公共getter与setter。
在实际项目中,实体类一般会被定义为侠义的JaveBean。即,广义的JaveBean的数据承载Bean一般会被定义为满足“JavaBean规范”的侠义JavaBean。
3.MVC开发模式(MVC的Model2)
注意:model2指的就是MVC开发模式
MVC,即 Model模型、View视图、Controller控制器。
- view:视图,为用户提供使用界面,与用户直接进行交互。
- Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类:一类成为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门用户承载业务数据的,如Student、User等。而业务处理Bean则是指Servlet或Dao对象,专门用于处理用户提交请求的。
- Controller:控制器。用于将用户请求转发给相应的的Model进行处理,并根据Model的计算结果向用户提供相应响应。
4. 三层架构
- 三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致
三层架构:视图层View、服务层Service、持久层Dao。
- View层:表现层、视图层,对于Web开发,也称为web层。 用于接收用户提交请求的代码在这里编写。
- Service层:业务层、逻辑层。 系统的业务和逻辑主要在这个完成。
- Dao层:持久层、数据访问层。 直接操作数据库的代码在这里编写。DAO,即Data Access Object,数据访问对象。
为了更好的降低各层之间的耦合度,在三层架构程序设计中,采用面向抽象的编程。View为上层,Service为下层。即上层对下层的调用是通过接口实现的。而下层对上层的真正服务提供者,是下层接口实现类。服务标准(接口)是相同。
5.MVC+三层架构
MVC+三层架构的开发模型,是=传统的JaveWeb项目中最常用开发模型。
所谓”MVC+三层架构“的开发模型,主要是指MVC的业务处理Model分为了两层:Service层与Dao层,分别用于处理业务逻辑与持久化操作。
- 蓝色是三层架构,紫色的是MVC,将MVC的Model层分为:Service与Dao。