QWrap简介之:HelperH 针对helper的Helper
HelperH是针对helper的Helper。
这个理解可能有点绕。
如之前的介绍,Helper对象是满足“纯洁”“静态”“针对性”的对象,那么,针对“‘纯洁’‘静态’‘针对性’的对象”的一个“纯洁”“静态”“针对性”的对象,就是针对helper的Helper了。
OK,理解了这个有点绕的概念之后,再来看下这个HelperH吧。
众多helper满足Helper规范,那么,可以针对这些很规范的对象的所有方法,作一些移植或变换处理。
因为处理是一致的,所以,我们把这些处理也抽象成方法,集成在HelperH中。
或许,这个是QWrap里最费解的一个概念。
它的代码也才一百行左右,不过要想理解透,似乎需要等要以后讲完Wrap与Retouch。这里仅粗略说明一下它所提供的几个方法的用途:
/**
* 对于需要返回wrap对象的helper方法,进行结果包装
* @param {Helper} helper Helper对象
* @param {Class} wrapper 将返回值进行包装时的包装器(WrapClass)
* @param {Object} wrapConfig 需要返回Wrap对象的方法的配置
* @return {Object} 方法已rwrap化的<strong>新的</strong>Helper
*/
rwrap: function(helper, wrapper, wrapConfig) {
},
/**
* 根据配置,产生gsetter新方法,它根椐参数的长短来决定调用getter还是setter
* @param {Helper} helper Helper对象
* @param {Object} gsetterConfig 需要返回Wrap对象的方法的配置
* @return {Object} 方法已gsetter化的<strong>新的</strong>helper
*/
gsetter: function(helper, gsetterConfig) {
},
/**
* 对helper的方法,进行mul化,使其可以处理第一个参数是数组的情况
* @param {Helper} helper Helper对象
* @param {json|string} mulConfig 如果某个方法的mulConfig类型和含义如下:
getter 或getter_first_all //同时生成get--(返回fist)、getAll--(返回all)
getter_first //生成get--(返回first)
getter_all //生成get--(返回all)
queryer //生成get--(返回concat all结果)
* @return {Object} 方法已mul化的<strong>新的</strong>Helper
*/
mul: function(helper, mulConfig) {
},
/**
* 对helper的方法,进行methodize化,使其的第一个参数为this,或this[attr]。
* @param {Helper} helper Helper对象,如DateH
* @param {optional} attr (Optional)属性
* @return {Object} 方法已methodize化的对象
*/
methodize: function(helper, attr) {
}
代码参见:
http://dev.qwrap.com/resource/js/core/helper.h.js
这个理解可能有点绕。
如之前的介绍,Helper对象是满足“纯洁”“静态”“针对性”的对象,那么,针对“‘纯洁’‘静态’‘针对性’的对象”的一个“纯洁”“静态”“针对性”的对象,就是针对helper的Helper了。
OK,理解了这个有点绕的概念之后,再来看下这个HelperH吧。
众多helper满足Helper规范,那么,可以针对这些很规范的对象的所有方法,作一些移植或变换处理。
因为处理是一致的,所以,我们把这些处理也抽象成方法,集成在HelperH中。
或许,这个是QWrap里最费解的一个概念。
它的代码也才一百行左右,不过要想理解透,似乎需要等要以后讲完Wrap与Retouch。这里仅粗略说明一下它所提供的几个方法的用途:
/**
* 对于需要返回wrap对象的helper方法,进行结果包装
* @param {Helper} helper Helper对象
* @param {Class} wrapper 将返回值进行包装时的包装器(WrapClass)
* @param {Object} wrapConfig 需要返回Wrap对象的方法的配置
* @return {Object} 方法已rwrap化的<strong>新的</strong>Helper
*/
rwrap: function(helper, wrapper, wrapConfig) {
},
/**
* 根据配置,产生gsetter新方法,它根椐参数的长短来决定调用getter还是setter
* @param {Helper} helper Helper对象
* @param {Object} gsetterConfig 需要返回Wrap对象的方法的配置
* @return {Object} 方法已gsetter化的<strong>新的</strong>helper
*/
gsetter: function(helper, gsetterConfig) {
},
/**
* 对helper的方法,进行mul化,使其可以处理第一个参数是数组的情况
* @param {Helper} helper Helper对象
* @param {json|string} mulConfig 如果某个方法的mulConfig类型和含义如下:
getter 或getter_first_all //同时生成get--(返回fist)、getAll--(返回all)
getter_first //生成get--(返回first)
getter_all //生成get--(返回all)
queryer //生成get--(返回concat all结果)
* @return {Object} 方法已mul化的<strong>新的</strong>Helper
*/
mul: function(helper, mulConfig) {
},
/**
* 对helper的方法,进行methodize化,使其的第一个参数为this,或this[attr]。
* @param {Helper} helper Helper对象,如DateH
* @param {optional} attr (Optional)属性
* @return {Object} 方法已methodize化的对象
*/
methodize: function(helper, attr) {
}
代码参见:
http://dev.qwrap.com/resource/js/core/helper.h.js