摘自:http://www.openwebx.org
Webx是一套基于Java Servlet API的通用Web框架,在阿里巴巴集团内部被广泛使用。
Webx 3.0是以springext为基础,基于“组件”思想的框架,目前缺少的功能:只支持服务端的表单验证而没有直接支持客户端的js验证,没有直接支持ajax编程,没有直接支持rest编程,没有直接支持web flow。
层次化的概念:
--上层定义规则,下层定义细节;
--上层是抽象的,下层是具体的;
--越上层,越稳定;越下层,越易变;
--依赖倒转,下层依赖上层,而不是上次依赖下层;
--下层扩展上层时,不需要修改到上层的任何代码和配置;
--每一层均可被替换;
--切分功能,每个组件只专心做一件事;
--分出哪些会变,哪些不会变。不变的固化在组件中,可能会变得的抽象成接口,以便扩展;
--默认值和默认扩展是值得考虑的,也容易被忽视,因为默认值和默认扩展是最安全、最常用的选择。
Webx鼓励层次化的模块设计,而SpringExt提供了创建和配置层次化组件的机制。
既可以使用全部的Webx框架,也可以只使用部分的Webx框架。
Webx的三个层次分别是:SpringExt、Webx Framework、Webx Turbine
1. SpringExt:基于Spring,提供扩展组件的能力,它是整个框架的基础。
2. Webx Framework:基于Servlet API,提供基础的服务,例如:初始化Spring、初始化日志、接收请求、错误处理、开发模式等。
3. Webx Turbine:基于Webx Framework,实现具体的网页功能,例如:Action处理、表单处理、模板渲染等。
正因为Webx的分层模式,可以使用SpringExt去搭建一个非web工程,也可以使用非Webx框架和SpringExt一起搭建web工程,当然也可以使用Webx Framework一步搭建web工程,或者在Webx的基础上自己定制Turbine
本文详细解析了Webx框架的核心组件及层次化设计思想,包括其基于JavaServletAPI的特性、功能局限性以及如何通过SpringExt、WebxFramework、WebxTurbine三层结构进行模块化设计。文章还介绍了Webx框架如何促进层次化模块设计,以及如何灵活地使用各个层次以适应不同的开发需求。
152

被折叠的 条评论
为什么被折叠?



