zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    函数-列表生成式
    函数-闭包
    函数-参数
    函数-装饰器
    函数-函数递归
    函数-高阶函数
    函数-命名空间
    函数-匿名函数
    模块-shutil
    在 Android 5.1.1 执行 remount system failed 解决方法
  • 原文地址:https://www.cnblogs.com/jkisjk/p/qwrap_helper_HelperH.html
Copyright © 2011-2022 走看看