javaEE体系架构

1、view-helper模式

  即视图-帮助者。目的是:分离视图与逻辑代码(只是简单分离,与MVC降低耦合有很大不同)。

  视图:负责数据显示与提交,即jsp、el和jstl等页面的表示。

  帮助者:提供功能模块、业务逻辑处理、数据交换等(此时业务逻辑层与表示层或数据层混在一起)。


 

  举个例子,在 Web 1.0 时代,一个 ASP 或 JSP 页面里,HTML 和脚本代码混在一起,此时脚本代码越多,系统越混乱(即熵增加),最终连开发者自己都无法理解。此时就需要对系统重新架构,办法是引入 view helper 模式,分离 HTML 和脚本,HTML 成为 view,脚本成为帮助类。然后再简单整合在一起。通过重新分和合,整个系统层次清晰,职责明确,系统的无序度降低,容易维护。

  

  具体实现例子:(1)、如在表现层使用view-helper模式,jQuery框架,jsp(el+jstl)做视图,引入jQuery.js做helper提供字符串处理功能、css动画效果、异步数据获取等。

         (2)、如在jsp+servlet或jsp+javaBean的开发模式中,前端jsp做view,后端servlet或javaBean提供业务逻辑、数据处理等功能。

 

2、MVC设计模式

  MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。

  1. 模型:模型层负责封装应用的状态,并实现数据处理和业务逻辑。
  2. 视图:视图层负责数据的显示与提交。
  3. 控制器:负责控制视图层发送的请求以及程序流程的控制。

 

  MVC一个笼统的设计模式,要求把应用的模型按一定的层次规则抽取出来,将业务逻辑聚集到一个部件里面(模型),控制器控制程序流程,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑

  

                                   javaEE体系架构_第1张图片

  MVC提供了让模型和视图相分离的思路——提取出专门的控制器。我们把页面跳转关系管理、流程控制、表单数据的封装及验证、国际化等任务交给控制器处理。如java开发中,jsp专注视图、servlet专注控制、javaBean处理逻辑。构成jsp+servlet+javaBean的MVC开发模式。

 

  Controller被设计为处理用户交互的逻辑。一个通常的误解是认为Controller负责处理View和Model的交互,而实际上View和Model之间是可以直接通信的。为了实现视图与业务逻辑的解耦,才加入controller这个中间层。

 

3、Dao设计模式

  DAO即Data Access Object,数据访问接口。数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间,在model层将业务逻辑与数据访问分离。

 

  四个组件:

    DBUtils工具类---负责数据库的连接与关闭

    Dao接口---定义增删该查的抽象方法,一个领域模型对应一个Dao接口。

    Dao接口的实现类

    VO值对象---一个VO对应一个数据表,便于把对数据表的操作转化成对java类的操作。

 

               javaEE体系架构_第2张图片

 

4、三层架构的软件设计体系

三层架构(3-tier architecture) 将整个业务应用划分为:表现层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。

区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。


  表现层(UI):表示层由处理用户交互的客户端组件及其容器所组成(html、css、js、jsp、el和jstl等);

  业务逻辑层(BLL):业务逻辑层由解决业务问题的组件组成;

  数据访问层(DAL):数据层由一个或多个数据库组成,并可包含存储过程。

 

三层架构思想,是一种笼统的架构思想,没有限制具体的设计,三层是纵向的、下层向上层提供服务

 

一般具体实现:用MVC设计模式解耦表现层和业务逻辑层;Dao设计模式作数据访问层。

 

5、javaEE中的开发模式

  开发模式:即软件设计套路;选择框架结构填充代码的软件开发方式(这里的框架是按照三层架构思想、MVC和Dao等设计模式具体实现软件的成熟框架结构)

 

  1、适合规模较小的软件系统(两层架构)

      jsp+servlet

      将数据访问抽象出来:jsp+servlet+Dao设计模式

 

  2、适合较大规模的软件系统(三层架构)

      jsp+servlet+javaBean

      将数据访问抽象出来:jsp+servlet+javaBean+Dao设计模式

javaEE体系架构_第3张图片javaEE体系架构_第4张图片

 3、流行框架:ssh(structs+spring+hibranate)

javaEE体系架构_第5张图片

 

  1.  jsp、el和jstl对应表示层
  2.  struts对应控制层
  3.  spring+hibranate对应业务逻辑层

    javaEE体系架构_第6张图片

 

 

总结:分层的具体界限并不一定,根据软件规模甚至功能模块的复杂性有所不同。总之,理解三层架构的软件体系思想,结合MVC、Dao等模式,根据项目规模、复杂性等具体问题具体解决。

转载于:https://www.cnblogs.com/jmqm/p/6883529.html

你可能感兴趣的:(javaEE体系架构)