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

posted on 2011-03-23 17:02  JKisJK  阅读(592)  评论(0编辑  收藏  举报

导航