Java高级框架应用开发案例教程(一).pptxVIP

  • 1
  • 0
  • 约4.14千字
  • 约 27页
  • 2025-04-29 发布于湖北
  • 举报

Java高级框架应用开发案例教程(一)

Struts-Spring-Hibernate概述

;主要内容;1.1框架概述;1.1框架概述;这种基于框架的软件开发方式和传统的汽车生产方式是很类似的,如图1-3所示:;那么到底什么是软件框架呢?框架(Framework)的定义如下:

是应用系统的骨架,将软件开发中反复出现的任务标准化,以可重用的

形式提供使用

大多提供了可执行的具体程序代码,支持迅速地开发出可执行的应用;

但也可以是抽象的设计框架,帮助开发出健壮的设计模型

好的抽象、设计成功的框架,能够大大缩短应用系统开发的周期

在预制框架上参加定制的构件,可以大量减少编码量,并容易测试

分别用于垂直和水平应用;框架具有以下特点:

框架具有很强〔大粒度〕的可重用性,远远超过了单个类;它是一个功

能连贯的类集合,通过相互协作为应用系统提供效劳和预制行为

框架中的不变局部,定义了接口、对象的交互和其他不变量

框架中的变化局部〔应用中的个性〕

一个好的框架定义了开发和集成组件的标准。为了利用、定制或扩展框架效劳,通常需要框架的使用者从已有框架类继承相应的子类;以及通过执行子类的重载方法,用户定义的类将会从预定义的框架类获得需要的消息。这会给我们带来很多好处,包括代码重用性和一致性,对变化的适应性,特别是它能够让开发人员专注于业务逻辑,从而大大减少了开发时间。如图1-4所示对有没有使用框架对工程开发所需工作量〔以人*月来衡量〕的影响进行了比照。;从图中我们不难看出,对于没有使用框架的工程而言,开发所需工作量〔以Mandays,即人*月来衡量〕会随着工程复杂性的提高〔以Businessfunction,即业务功能来衡量〕以几何级数递增,而对于使用框架的工程而言,开发所需工作量会随着工程复杂性的提高以代数级数递增。举个例子,假定开发团队人数一样,一个没有使用框架的工程所需的周期为6-9个月的话,那么同样的工程如果使用框架那么只需要3-5个月。;在软件架构设计中,我们往往建立软件系统的高层结构,常常用到分层架构模式。

分层模式是一种将系统的行为或功能以层为首要的组织单位来进行分配???划分〕

的结构模式:

—通常在逻辑上进行垂直的层次Layer划分

—在物理上创造那么进行水平的层级Tier划分

分层要求:层内的元素只信赖于当前层和之下的相邻层中的其它元素

(注意这并非绝对的要求)

大局部的Web应用在职责上至少能被分成4层:表示层〔PresentationLayer〕、持久层〔PersistenceLayer〕、业务层〔BusinessLayser〕和域模块层〔domainmodelLayer〕。每个层在功能上都应该是十清楚确的,而不应该与其他层混合。每个层要相互独立,通过一个通信接口而相互联系。下面将分别详细地介绍这四层,讨论一下这些层应该提供什么,不应该提供什么。;这里讨论一个使用三种开源框架的策略:

表示层用Struts;业务层我们用Spring;而持久层那么用Hibernate。如图1-5所示。;1.2.1表示层

一般来讲,一个典型的Web应用的前端应该是表示层。这里可以使用Struts框架。

下面是Struts所负责的:

?管理用户的请求,做出相应的响应

?提供一个流程控制器,委派调用业务逻辑和其他上层处理

?处理异常

?为显示提供一个数据模型

?用户界面的验证

以下内容,不该在Struts表示层的编码中经常出现,与表示层无关的。

?与数据库直接通信

?与应用程序相关联的业务逻辑及校验

?事务处理

在表示层引入这些代码,那么会带来高耦合和难以维护的后果。;1.2.2持久层

典型的Web应用的后端是持久层。开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运地是,有几个对象/关系映射〔Object/RelationMapping,ORM〕开源框架很好地解决了这类问题,尤其是Hibernate。Hibernate为Java提供了持久化机制和查询效劳,它还给已经熟悉SQL和JDBCAPI的Java开发者创造了一个学习桥梁,使他们学习起来很方便。Hibernate的持久对象是基于POJO〔PlainOldJavaObject〕和Java集合〔collections〕的。此外,使用Hibernate并不阻碍你正在使用的IDE〔IntegratedDevelopmentEnviroment〕。;下面是Hibernate所负责的:

?如何查询对象的相关信息。

Hibernate是通过一个面向对象的查询语言〔HQL〕或者正那么表达的

文档评论(0)

1亿VIP精品文档

相关文档