三、框架分析总结
对框架的分析包括两部分:一是对框架本身的分析,这种分析研究架构本身的实现;二是对框架在架构搭建中的位置及作用的分析,即分析框架和架构的关系,分析的是软件架构的本身,由此得出一个可以通用的架构的框架。
本项目对这两部分均作了分析。对第一种分析,分析了J2EE和JAVA EE 5的框架本身的架构,包括它的包容器架构,及支持的多层应用模型。SPRING的七个架构模块和他们的关系。这些是对框架的架构分析。本项目没有就这些框架的开发设计及部署方面做非常具体的阐述,因为它们的白皮书中都有详细的介绍。 J2EE的复杂导致了它的学习难度大,包容器机制导致了可测试性极差,而且存在严重的对应用的侵入性,所有这些都违背了它的提高开发效率的初衷,一些大师认为J2EE的设计理想化的成分很多,没有贴近用户的实际需求。
第二部分分析,分析了J2EE、JAVA EE 5和SPRING的模式对架构设计的指导,也就是通过它们采用的模式的分析来分析它们对软件的架构搭建的重要意义,由此得出通用框架的架构。
这里所说的模式不是B/S,C/S这样的架构模式,也不是通常所说的象GOF的著名的23种设计模式那样的代码级别的设计模式,而是一种对架构搭建起指导作用的模式,象MVC,依赖注入,及AOP等,这些模式的采用决定了软件的架构,因为这些模式决定了组件和组件之间的关系。MVC决定了视图(VIEW)和模型(MODEL)的组件需要通过控制器(COTROLLER)组件进行交互。依赖注入决定了组件之间是主动调用还是被动调用,谁调用谁的这样一种机制。在报告二中分析了这些模式,也分析了它们在框架中所起的作用。
项目分析了J2EE, JAVA EE 5, 和SPRING三种框架的架构,以及它们在架构搭建过程中所起的重要作用,并分析了这些框架存在的一些问题,以及改进的维度。这也正是得出通用框架模型的基础。
SPRING的设计采用了简单灵活的原则,很多功能都是可以选择的,对应用程序没有侵入性,应用程序很容易从这种框架中移植到其他框架中。它本身是非分布式的框架,但可以结合分布式的组件来搭建应用程序框架。
JAVA EE 5解决了J2EE的很多问题,也有简化的倾向,EJB3.0提供了良好的可测试性,不再依赖包容器。
从这些方面的分析我们可以得出简单化是用户的尤其重要的一种需求,也是软件框架改进的方向之一,在设计软件架构的时候,是否要为未来不确定的维护需求在设计之初就做好打算,或者先满足眼前的需要更重要,这些思考可以成为设计软件架构的指导思想。框架的弱侵入性,和松散耦合的特性,使得应用程序有更多改进和灵活的移植空间也成为了重要的趋势;本着从应用需求出发,从用户需求出发的原则,做好架构的考虑,框架为我们提供了更多的可借鉴的思想。