开发模型

Posted penguin1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发模型相关的知识,希望对你有一定的参考价值。

系统开发模型:

      即,系统架构,是指整合应用系统程序大的结构。经常提到的系统结构有两种:三层架构 和 MVC。

  这两种架构,既有区别,又有联系。但是这两种结构的使用,均是为了降低系统模块间的耦合度。 (便于开发时的分组)

  

  传统的JavaWeb 项目的系统开发模型大体经历了四个阶段:

        纯JSP ---> JSP+JavaBean 的Model1 --->MVC的Model2   ---> MVC+三层架构


1. 纯JSP

     技术图片

  “纯 JSP”开发模型中,将所有的业务处理、数据显示功能都交由JSP页面完成。

  其缺点很明显:

    JSP页面中的代码结构很乱,显示功能 与业务处理功能代码没有划分,维护 与 升级相当麻烦。


 2.JSP+JavaBean 的Model1

    技术图片

 

 

   

 

  这种开发模型将绝大多数 业务处理功能,交给了 专门的JavaBean 来完成,而JSP页面不再进行业务处理,主要来完成数据显示功能。(实现了业务逻辑 和 页面显示的分离)

  这种开发模型,较 "纯JSP页面"的开发模型,有了很大的改进。但是该开发模式对于来自客户端的请求的解析,以及对于JavaBean对象的选择与创建,仍然是由JSP页面通过Java代码块来完成的。

  也就是说,JSP页面还是承担了很大的请求解析、业务处理功能。

 

牵引出一个知识点: JavaBean

  JavaBean 根据其具体概念的不同,可以分为两大类: 广义的JavaBean 与 狭义的JavaBean。

  技术图片

 

 

   所谓广义的JavaBean,就是指 一般意义上的Java类。

  其主要功能是: 承载数据 与 业务处理。

  因此:广义的JavaBean 又分为两类:数据承载Bean 和 业务 处理Bean。

    数据承载Bean就是指 实体类,专门用于承载业务数据的。如 Student、User等。

        如,创建了一个Student类。这个类的对象存放在堆区内存中。而在堆区内存中存放的Student对象,实际上是存放了创建student的name、age..的值。这个类与存放数据,装数据。

        因此,叫做承载数据Bean、。

    而业务处理Bean则指的是 Service 或Dao对象,专门用于处理用户提交请求的。

        如,JDBC。要想访问数据库,需要定义一个类。类中需要声明成员变量 和 方法。这些方法,用于实现 增删改查的功能。 

        因为定义这个类的对象的作用就是为了 访问数据库,对数据库进行增删改查。

                 所以,叫做 业务处理Bean。

 

  狭义的JavaBean,是指符合sun公司提出的"JavaBean规范"的Java类。

  JavaBean规范规定,满足以下四点的Java类,称为 JavaBean

      -该类需要是公共类,即public class...

      -该类需要实现Serializable接口。

      -该类需要具备无参构造器,无论是默认的,还是显示定义的。

      -该类若有成员变量,则这些成员变量必须是私有的,且需要提供这些私有成员变量的公共getter 与 setter。

 

   在实际项目中,实体类一般会被定义为狭义的JavaBean。

   即,广义的JavaBean的数据承载Bean一般会被定义为满足"JavaBean规范"的狭义JavaBean。

 


 3. MVC的Model2

  技术图片

 

 

 

  MVC, 即 Model模型 、 View视图、以及 Controller控制器

  -View:视图,为用户提供使用界面,与用户进行直接的交互;

  -Model:模型,承载数据,并对用户提交请求进行计算的模块。

       其分为两类: 数据承载Bean  和 业务处理Bean

       所谓数据承载Bean就是指 实体类,专门用于承载业务数据的。如 Student、User等。

              而业务处理Bean则指的是 Service 或Dao对象,专门用于处理用户提交请求的。

  -Controller:控制器,用于将用户请求转发给相应的Model进行处理,并根据Model的计算结果向用户提供相应响应。

        所有的请求和响应,通通要经过控制器。

 

  注意: JSP其实也可以直接访问 数据承载Bean。

     但是,要杜绝JSP直接访问 业务处理Bean。

 

 

 

 

 

   MVC架构程序的工作流程是这样的:

 


 4. 三层架构

   技术图片

  三层架构 是指:视图层 View 、服务层 Service 、持久层 Dao。 它们分别完成不同的功能。

  View层:表现层、视图层,对于Web开发,也称为Web层。用于接收用户提交请求的代码在这里编写。

  Service层: 业务层、逻辑层,系统的业务逻辑主要在这里完成。

  Dao层: 持久层、数据访问层,直接操作数据库的代码在这里编写。 DAO ,即Data Access Object,数据访问对象。

  

  为了更好的降低各层间的耦合度,在三层架构程序设计中,采用了面向抽象编程。

  即上层对下层的调用,是通过接口实现的。

  而下层对上层的真正服务提供者,是下层接口的实现类。

  它们服务标准(接口)是相同的,服务者提供(实现类)可以更换。这就实现了层间解耦合。


 

5. MVC+三层架构

  技术图片

 

   

  所谓 “MVC+三层架构”的开发模型,主要是指 将MVC的业务处理Model分为了两层:

    Service层 与 Dao层,分别用于处理 业务逻辑 和 持久化操作。

    “MVC+三层架构”的开发模型,是最传统的JavaWeb项目的最常用开发模型。

  

 

 

 

 

 

 


以上是关于开发模型的主要内容,如果未能解决你的问题,请参考以下文章

软件开发过程-------瀑布模型原型模型螺旋模型敏捷开发模型

软考 系统架构设计师 简明教程 | 软件开发模型

敏捷开发与传统开发

开发常用模型

1.几大开发模型区别与联系

几大开发模型区别与联系