结构(Architecture):定义了硬件或软件的主要特征,通常基于文档吼 2.框架(Framwork):不仅仅是文档(包括一些程序代码),但也不是产品。
其实就是某种应用的半成品,就是一组组件,开发人员可以选用框架完成他自己的系统。
框架一般是成熟的,不断升级的软件川。
3.模式(Patten):Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。
通过这种方式,你可以无数次地使用那些已有的解决方案。
无需在重复相同的工作16J。
1.2.2基于J2EE规范的框架研究 目前,国内外对框架的研究多在J2EE项目的Web应用层和持久层,著名的框架有Web框架Struts,Spring等;持久层技术Hibernate。
1.2.2.1 Web应用框架1.Struts框架川嘲【9】【10lla8} Struts已经成为了用Java创建Web应用的一个最流行的框架,Stmts所实现的MVC模式给Web应用带来了良好的层次划分,同时也提供了一系列的工具来简化Web应用的开发。
简单的Struts组件结构如图1-1示。
厂———〕 l均g libraries I 1.................一 2 田1—1简单的Struts组件结构 Struts Contloger为ActionServlet处理客户请求,利用配置ActionMapping对象把请求映射到Act/on处理器对象进行处理。
Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。
Action处理器对象根据处理结果通知Controller,Controller进行下一步的处理。
Struts是建立在MVC模式上的,Struts在M、v和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在c和v上,因此,它天生就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;其次,它是个开源项目得到了包括它的发明者Craig R.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;最后,Struts对其他技术和框架显示出很好的融合性。
当然,和其他任何技术一样,它也不是十全十美的,如:它对类和一些属性、参数的命名显得有些随意,给使用带来一些不便;还有如Action类execute方法的只能接收一个ActionForm参数等。
但瑕不掩瑜,这些没有影响它被广泛使用。
2.Spring框槊【“itl2】【133114l Spring仅仅是一个从2003年2月才开始的开源项目,但spring有深厚的历史根基。
这个开源工程是起源自在2002年晚些时候出版的(ExpertOne-on-OneJ2EE设计与开发》书中的基础性代码。
这本书展示了Spring背后的基础性架构思想。
然而,对这个基础架构的概念可以追溯到2000年的早些时候,并且反映了一系列商业工程开发基础结构的成功经验【ll】。
Spring的主要目的是使J2EE易用以及促进开发人员养成良好的编程习惯.S州ng为已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明性事务管理, 通过RMI或Webservices远程访问业务逻辑,mail支持工具以及对于数据和数据库之间持久层的各种配置的支持。
Spring还提供了一个MVC应用框架,可以通过集成AOP透明的嵌入你的软件和一个优秀的异常处理体系,这个异常体系可以自动从属性异常体系进行映射。
Spring包含许多功能稚特性,并被很好地组织在图1-2所示的七个模块中。
3 圈1—2 Spring整体架构 Spri_ng core 主要提供Bean Factory和IOC Container,