Webx学习笔记(一)

摘自: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

猜你喜欢

转载自tbmxp.iteye.com/blog/1956777
今日推荐