码迷,mamicode.com
首页 > Web开发 > 详细

初识Webx

时间:2016-05-31 20:36:34      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

Webx是一套基于Java Servlet API的通用Web框架。它在Alibaba集团内部被广泛使用。从2010年底,向社会开放源码。

Webx框架是一个稳定、强大的Web框架。建立在SpringExt的基础上,具有超强的扩展能力。你可以使用全部的Webx,也可以使用部分Webx。你也可以比较容易地用SpringExt做出自己的可扩展组件。

Webx的优势

成熟可靠性

Webx在阿里巴巴和淘宝用了很多年。对于这种超大访问量的电子商务网站,Webx经受了考验,被证明是成熟可靠的。

开放和扩展性

  • 对Spring的直接支持 —— Spring是当今主流的轻量级框架。Webx 3.0和Spring MVC一样,完全建立在Spring框架之上,故可运用Spring的所有特性。

  • 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级成“组件”。一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx的非常好的扩展性,且比未经扩展的Spring更易使用。

  • 开放性 —— Webx被设计成多个层次,层次间的分界线很清晰。每个层次都足够开放和易于扩展。你可以使用全部的Webx,也可以仅仅使用到Webx的任何一个层次。

框架设计理念

框架的本质就是"扩展". 一个软件框架必须符合以下要素:

  • Inversion of Control. 控制反转. [应用的流程不是由应用控制, 而是由框架控制.]
  • Default Behavior. 默认行为. [框架会定义一系列默认的行为]
  • Extensibility. 扩展性. [应用可以扩展框架的功能, 也可以修改框架的默认行为.]
  • Non-modifiable Framework Code. 框架自身的代码不可更改. [框架可扩展, 但不需要改变原本的代码]

 一个Web框架的好坏, 往往不是由它所实现的具体功能的好坏决定的, 而是由其所用的基础框架的好坏决定的.  Webx建立在SpringExt的基础上, SpringExt是对Spring的扩展. 没有损失任何Spring的功能, 但能提供比Spring自身更强大的扩展能力.

设计良好的模块, 应该是层次化的.

  • 上层定义规则, 下层定义细节. 上层是抽象的, 下层是具体的.
  • 越上层, 越稳定(少改变). 越下层, 较易变.
  • 依赖倒转: 下层依赖于上层, 具体依赖于抽象, 而不是上层依赖下层.
  • 开闭原则: 下层扩展上层时, 不需要修改上层的任何代码和配置.
  • 每一层均可被替换.

技术分享

Webx鼓励层次化的模块设计, 而SpringExt提供了创建和配置层次化组件的机制.

设计一个层次化的组件, 可以从下面几方面来考虑.

  • 切分功能. 每个组件专心做一件事.
  • 分析哪些会变, 哪些不会变. 不变的部分固化在组件中, 可能会改变的部分抽象成接口, 以便扩展.
  • 考虑默认值和默认扩展. 默认值和默认扩展应该是最安全, 最常用的选择. 对于默认值和默认扩展, 用户在使用时不需要额外的配置.

Webx的层次

技术分享

 

 

 

参考文献

http://www.openwebx.org/

初识Webx

标签:

原文地址:http://www.cnblogs.com/lddbupt/p/5547189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!