博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模块化
阅读量:6511 次
发布时间:2019-06-24

本文共 1015 字,大约阅读时间需要 3 分钟。

模块化

  模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行 系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割 成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得 “有理可循”。

  模块化是软件系统的属性,这个系统被分解为一组高内聚,低耦合的模块。那么在理想状态下我们只需要完成自己部分的核心业务逻辑代码,其他方面的依赖可以通过直接加载被人已经写好模块进行使用即可。

 

AMD和RequireJS

AMD

 Asynchronous Module Definition,用白话文讲就是异步模块定义,对于 JSer 来说,异步是再也熟悉不过的词了,所有的模块将被异步加载,模块加载不影响后面语句运行。所有依赖某些模块的语句均放置在回调函数中。

 AMD规范定义了一个自由变量或者说是全局变量 define 的函数。

define( id?, dependencies?, factory ); 

AMD规范 

第一个参数 id 为字符串类型,表示了模块标识,为可选参数。若不存在则模块标识应该默认定义为在加载器中被请求脚本的标识。如果存在,那么模块标识必须为顶层的或者一个绝对的标识。

第二个参数,dependencies ,是一个当前模块依赖的,已被模块定义的模块标识的数组字面量。

第三个参数,factory,是一个需要进行实例化的函数或者一个对象。

创建模块标识为 alpha 的模块,依赖于 require, export,和标识为 beta 的模块

define("alpha", [ "require", "exports", "beta" ], function( require, exports, beta ){        export.verb = function(){            return beta.verb();            // or:            return require("beta").verb();        }    });

 

转载于:https://www.cnblogs.com/zhiupping8/p/4997734.html

你可能感兴趣的文章