web中模块化开发理解 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

web中模块化开发理解

发表时间:2017-1-17

发布人:葵宇科技

浏览次数:54

web中模块化开发理解

一、什么是模块化开发?

1.web开发中将项目的实现划分为许多模块,模块其实就是将功能相关的代码封装在一起,方便维护
,重用;模块之间通过API进行重组。

二、为什么要通过模块化的方式进行开发?

1.高内聚低耦合,有利于团队作战,当项目很复杂的时候,将项目划分为子模块分给不同的人开发

,最后再组合在一起,这样可以降低模块与模块之间的依赖关系体现低耦合,模块又有特定功能体

现高内聚。

2.可重用,方便维护,模块的特点就是有特定功能,当两个项目都需要某种功能的时候,我们定义

一个特定的模块来实现该功能,这样只需要在两个项目中都引入这个模块就能够实现该功能,不需

要书写重复性的代码;并且当需求变更该功能需要改变的时候,我们直接修改该模块,这样就能够

修改所有项目的功能,维护起来很方便。

3.模块化开发会引发大量的js被引入到页面,而这些模块之间还是有依赖关系,体现在引入的顺序

,其实就是模块管理的问题,

三、模块化开发的实现方式:

1.函数方式:将某种功能的代码逻辑封装到函数里面,然后再将这些函数抽取到一个独立的文件,

实现重用。但是这种方式会导致暴露的全局函数数据量太多,会污染全局。

2.命名空间方式:其实就是暴露一个全局对象,然后把实现功能的函数挂到该对象下面,最为对象

的方法。缺点是对于某些函数我们并不想为外界所调用,而自定义对象的方法对外都是公开的无法

保证该函数不被调用。

3.使用具有私有空间的对象来实现:这种方式解决了以上几种方式没解决的问题,但是不具备扩展

性。

var demo = (function() {

    function private() {

    }
    function public() {

    }
    return {
        public: public
    }
})();

4.使用自执行函数和window对象来实现:比如要制作一个demo模块

  • 自执行函数传入window.demo||{}表示如果原来全局中存在demo模块,那么就将其进行扩展,如

没有则创建一个空对象作为demo来初始化

  • 同样的传参数的方式也可以降低对第三方框架的依赖,比如该模块是在jquery的基础上面开发

的也就是说模块是调用jquery得api实现,如果有一个框架和jquery的api实现一样的功能此时我们

就可以将这个模块依赖的框架修改为另一个框架,通过改变全局对象的传入,而不影响模块的功能

(function(demo,$) {

    function private() {

    }
    demo.public:function () {
          $('.div').html('公有函数');
    }
    // 创建或者更新window的demo模块
    window.demo = demo;
})(window.demo || {},jQuery);
// 比如在此处修改传入的jQuery对象为zepto

相关案例查看更多