zoukankan      html  css  js  c++  java
  • QWrap简介之核心库定制

    提供YUI2一样的静态方法库,同时又用所谓的Helper规范来做到真正的绝对静态,让组件开发者可以发布出无依赖的组件。

    其中,组件无依赖化,也就是核心库定制这个特性,在某些场景下还是非常有用的。QWrap提供了相应的工具来实现,JK这篇文章有详细说明。只是这个工具藏得很深没多少人知道,好酒也怕巷子深~ 最近我在这个工具的基础上增加了代码选取的功能,一起再给大家介绍下。

    首先,访问代码选取小工具页面。

    第一步,选择要用到的方法。这 一步比较好理解,例如要用到数组迭代就选中ArrayH下的forEach,需要格式化日期功能就选择DateH下的format,依此类推。特别 的,Browser(浏览器UA相关)、Selector、CustEvent(自定义事件)这三个模块目前是不能拆分的,只能按模块选择,并不能细化到 每个方法。

    第二步,选择Retouch配置。了解过QWrap设计的同学应该知道,QWrap是通过不同Retouch配置来决定是否污染原型的。默认的Core Retouch,会执行以下操作:

    mix(Object, QW.ObjectH);//给Object增加静态方法
     
    mix(QW.ArrayH, QW.HashsetH);//将HashsetH合并到ArrayH
    mix(Array, QW.ArrayH);//给Array增加静态方法
    mix(Array.prototype, methodize(QW.ArrayH));//给Array增加原型方法
     
    mix(QW.FunctionH, QW.ClassH);//将ClassH合并到FunctionH
    mix(Function, QW.FunctionH);//给Function增加静态方法
     
    mix(Date, QW.DateH);//给Date增加静态方法
    mix(Date.prototype, methodize(QW.DateH));//给Date增加原型方法
     
    mix(String, QW.StringH);//给String增加静态方法
    mix(String.prototype, methodize(QW.StringH));//给String增加原型方法

    在这一步,如果选中了Core Retouch,最终代码会根据你选择的模块,选择性的把上面那些Retouch添加到最后。

    第三步,提取方法。这一步也很简单,点击按钮就会根据第一步的选择、第二步的配置生成方法list。这个list是给第四步抽取代码用的,也可以存起来以后再用。

    第四步,获取最终代码。这一步更简单了,点一下按钮就大功告成,自己体验下吧~

    到这里,QWrap的无依赖化定制就完成了。通过简单的四步,就能得到独一无二的QWrap核心库。

    特别的,如果基于QWrap开发组件,且全部使用QWrap的静态方法,那这个组件也可以方便的Solo了——把组件用到的所有静态方法贴到第三步的文本框里,获取基于这个组件的定制化核心库,搞定!

  • 相关阅读:
    VisionPro 各控件的C#中类库 CogAcqFifoTool(2)
    VisionPro 各控件的C#中类库 CogAcqFifoTool(1)
    C# new的三种用法
    C# as用法
    C# 基类之Environment类
    C#开发的软件在Windows7中出现对路径的访问被拒绝异常
    IDEA创建springboot项目【mas-service】
    .Net Core-ObjectPool
    中介者模式的实现-MediatR
    .NET Core分布式事件总线、分布式事务解决方案:CAP
  • 原文地址:https://www.cnblogs.com/shihao/p/2318827.html
Copyright © 2011-2022 走看看