zoukankan      html  css  js  c++  java
  • newland.js的Ioc实现

    concat( files ), function(){
             //取得放在前面的拦截器
             var intercepters = [].splice.call(arguments, 0, inter.length);
             //取得放在后面的控制器
             var controllers = arguments;
             //进行控制反转,构建我们所需要的控制器子类与它的实例
             files.forEach(function(el, i){
                 //mac下的路径为     app/controllers/doc_controller.js
                 //window下的路径为  app\\controllers\\doc_controller.js
                 var match = el.replace(/\\/g,"/").match(rcname);
                 var controller = controllers[i];
                 controller.inherit =  $.base_controller
                 var klass = $.factory(controller);
                 $.controllers[ match[1] ] = new klass;
             });
             resource_ready( intercepters )
         });
     });

    需要说明一下的是,newland.js分成两大块,app目录下的模块是用户自建的文件或系统指令下建立的模块(下称app模块),system目录下的模块则是辅助app模块运行用的。需要用户动手的app模块越简单就越好!任何复杂的类最好不要用,就算用都交由框架去处理,去new 实例;任何复杂的功能都做用钩子的形式,或通俗地说,是回调函数的形式,交由框架去调度;所有不确定的功能都做成自定义事件形式,由框架或框架的另外加载的模块去fire。诸如此类,所有耦合就松绑了,得以最大限度地适应需求的变化。

     
     
    标签: javascript
  • 相关阅读:
    ansible常用的一些模块
    使用jmx监控tomcat
    snmp的监控
    Selenium 入门到精通系列:六
    Selenium 入门到精通系列:五
    Selenium 入门到精通系列:四
    Selenium 入门到精通系列:三
    Selenium 入门到精通系列:二
    Selenium 入门到精通系列:一
    Python 发邮件例子
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2635519.html
Copyright © 2011-2022 走看看