欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
XWork
来自开放百科 - 灰狐
(版本间的差异)
(未显示1个用户的3个中间版本) | |||
第1行: | 第1行: | ||
+ | {{top news}} | ||
+ | |||
XWork 是一个泛化的命令模式框架。 | XWork 是一个泛化的命令模式框架。 | ||
其目的是创建一个泛化的、可重用且可扩展的命令模式框架,而不是一个特定在某个领域使用的框架。 | 其目的是创建一个泛化的、可重用且可扩展的命令模式框架,而不是一个特定在某个领域使用的框架。 | ||
− | + | [[Image:xwork-flow.jpg|right|thumb|XWork Flow]] | |
+ | 命令模式把普通功能或OO编程中的代码组合到一起,封装成形形色色名为"命令"或"动作"的类。因为无须直接调用类,所以在框架的帮助下,不用修改命令代码就可以通过改变框架的配置来改变命令的行为。 | ||
==特点== | ==特点== | ||
* 基于一个简单的接口就可以进行灵活且可自定义的配置; | * 基于一个简单的接口就可以进行灵活且可自定义的配置; | ||
第8行: | 第11行: | ||
* 整个框架通过类型转换和使用OGNL的action属性验证来构建; | * 整个框架通过类型转换和使用OGNL的action属性验证来构建; | ||
* 包含一个基于运行时Attribute和验证拦截器的强大的验证框架。 | * 包含一个基于运行时Attribute和验证拦截器的强大的验证框架。 | ||
+ | ==命令模式基本特性== | ||
+ | *配置动作类为基于别名执行,把调用者与命令对象的具体实现分开。这个过程是通过 xwork.xml 文件来实现的 | ||
+ | *允许在配置中为动作实例定义参数,在这个动作执行前参数会被设置 | ||
+ | *在执行前给动作实例设定请求特定参数,这个过程由 interceptor 完成 | ||
+ | *提供动作返回码与执行结果之间的映射关系,在 xwork.xml 中定义 | ||
+ | *链式多命令通过配置聚集到一起提供对大量动作组合的支持 | ||
+ | ==命令模式高级特性== | ||
+ | *在设置活动实例属性时支持类和属性的类型转换。灵活的类型转换允许使用有着复杂属性类型的域对象,而不是Struts或其他框架中的全String型FormBeans | ||
+ | *国际化支持: 基于动作类层次消息继承模型的本地化文本消息支持 | ||
+ | *支持类实例和字段一级的错误信息。可以把动作级和字段级的错误信息保存下来显示给用户看 | ||
+ | *能够在动作实例执行之前和执行之后发挥作用的可配置 interceptor | ||
+ | *验证动作或域对象值的XML元数据驱动验证框架。可以定义正式代码以外的验证程序,并为不同的使用场景提供不同的验证器 | ||
==与WebWork的关系== | ==与WebWork的关系== | ||
− | + | [[WebWork]]2 被构建在XWork之上,以XWork为基础。通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。 | |
http://www.opensymphony.com/xwork | http://www.opensymphony.com/xwork | ||
+ | |||
+ | [[Category:Framework]] | ||
+ | [[Category:WebWork]] |
2010年9月27日 (一) 04:09的最后版本
XWork 是一个泛化的命令模式框架。
其目的是创建一个泛化的、可重用且可扩展的命令模式框架,而不是一个特定在某个领域使用的框架。
命令模式把普通功能或OO编程中的代码组合到一起,封装成形形色色名为"命令"或"动作"的类。因为无须直接调用类,所以在框架的帮助下,不用修改命令代码就可以通过改变框架的配置来改变命令的行为。
目录 |
[编辑] 特点
- 基于一个简单的接口就可以进行灵活且可自定义的配置;
- 核心命令模式框架可以通过定制和扩展拦截器来适应任何请求/响应环境;
- 整个框架通过类型转换和使用OGNL的action属性验证来构建;
- 包含一个基于运行时Attribute和验证拦截器的强大的验证框架。
[编辑] 命令模式基本特性
- 配置动作类为基于别名执行,把调用者与命令对象的具体实现分开。这个过程是通过 xwork.xml 文件来实现的
- 允许在配置中为动作实例定义参数,在这个动作执行前参数会被设置
- 在执行前给动作实例设定请求特定参数,这个过程由 interceptor 完成
- 提供动作返回码与执行结果之间的映射关系,在 xwork.xml 中定义
- 链式多命令通过配置聚集到一起提供对大量动作组合的支持
[编辑] 命令模式高级特性
- 在设置活动实例属性时支持类和属性的类型转换。灵活的类型转换允许使用有着复杂属性类型的域对象,而不是Struts或其他框架中的全String型FormBeans
- 国际化支持: 基于动作类层次消息继承模型的本地化文本消息支持
- 支持类实例和字段一级的错误信息。可以把动作级和字段级的错误信息保存下来显示给用户看
- 能够在动作实例执行之前和执行之后发挥作用的可配置 interceptor
- 验证动作或域对象值的XML元数据驱动验证框架。可以定义正式代码以外的验证程序,并为不同的使用场景提供不同的验证器
[编辑] 与WebWork的关系
WebWork2 被构建在XWork之上,以XWork为基础。通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。
分享您的观点