什么是模块化

简单地说,模块化就是有组织地把一个大文件拆成独立并互相依赖的多个小模块。
模块内部有许多私有属性,只向外暴露一部分公开的接口(如可以修改私有属性的方法等)
模块化是一种处理复杂系统分解为更好的可管理模块的方式。
所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数。模块化开发使代码耦合度降低,模块化的意义在于最大化的设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。
模块化的好处
ES6之前,JavaScript语言一直没有模块(module)体系,无法把大文件有组织地划分成小块,并管理之间地依赖。但是模块化的思想一直存在。因为用Javascript写的代码越来越庞大,而网页也越来越像桌面APP。如此庞杂的代码,如果不进行模块化,就可能引发命名冲突,造成不易复用、维护性高。

使用模块化开发好处

1.高内聚低耦合,有利于团队作战,当项目很复杂的时候,将项目划分为子模块分给不同的人开发,最后再组合在一起,这样可以降低模块与模块之间的依赖关系体现低耦合,模块又有特定功能体现高内聚。

2.可重用,方便维护,模块的特点就是有特定功能,当两个项目都需要某种功能的时候,我们定义一个特定的模块来实现该功能,这样只需要在两个项目中都引入这个模块就能够实现该功能,不需要书写重复性的代码;并且当需求变更该功能需要改变的时候,我们直接修改该模块,这样就能够修改所有项目的功能,维护起来很方便。
3、通过 exports 暴露接口。这意味着不需要命名空间了,更不需要全局变量。这是一种彻底的命名冲突解决方案。
4、通过 require 引入依赖。**这可以让依赖内置,开发者只需关心当前模块的依赖,其他事情 Sea.js/ Require.js 都会自动处理好

什么是模块化?模块化的好处相关推荐

  1. 编程思想-模块化-模块化设计:模块化设计

    ylbtech-编程思想-模块化-模块化设计:模块化设计 模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序.子程序.子过程等框架把软件的主要结构和流程描述出来,并 ...

  2. 编程思想-模块化-模块化程序设计:模块化程序设计

    ylbtech-编程思想-模块化-模块化程序设计:模块化程序设计 模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要 ...

  3. 模块化实现(好处,原因)

    1.模块间解耦,复用. (原因:对业务进行模块化拆分后,为了使各业务模块间解耦,因此各个都是独立的模块,它们之间是没有依赖关系. 每个模块负责的功能不同,业务逻辑不同,模块间业务解耦.模块功能比较单一 ...

  4. 什么是模块化 ? 模块化的好处

    什么是模块化 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性.所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定 ...

  5. 阿里再开源!基于JAVA的模块化开发框架JarsLink

    阿里妹导读:JarsLink是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(JAR包).卸载模块和模块间调用的API,它能够帮助你进行模块化开发,也能帮助你的系统在运行时动态添加新功能 ...

  6. ABP vnext模块化架构的最佳实践的实现

    在上一篇文章<手把手教你用Abp vnext构建API接口服务>中,我们用ABP vnext实现了WebAPI接口服务,但是并非ABP模块化架构的最佳实践.我本身也在学习ABP,我认为AB ...

  7. 系统新模块增加需要哪些步骤_人工智能之父的问题解决策略:模块化

    最近主题阅读马文·明斯基(Marvin Minsky) 和西摩·佩珀特(Seymour Papert)两位人工智能大师,关于思维,关于教育的书籍.其中马文被称为「人工智能之父」.两人都非常重视过程模块 ...

  8. 如何模块化设计B端系统?

    前言: 咱们都希望能做出一个可复用性强.灵活性好的B端系统出来. 那么,模块化设计就是其中一个很好的方法. 本文目录: 一.为什么要模块化设计? 二.适不适合模块化设计? 三.如何模块化设计B端系统? ...

  9. 使用模块化工具Rollup打包自己开发的JS库

    使用模块化工具Rollup打包自己开发的JS库 打包JS库demo项目地址:https://github.com/Miazzy/xdata-utils-btools 背景 最近有个需求,需要为小程序写 ...

  10. 基于Ext JS的模块化应用框架搭建及开发

    Ext JS模块化开发 早期基于Ext JS的Web开发方式,是在HTML中引入JS和CSS文件,典型的就是引入 ext-all.js 这样的文件.ext all 包含的内容很多, 有基本的核心组件. ...

最新文章

  1. 『中级篇』阿里云安装Docker企业版UCP和DTR(59)
  2. 4.1 Tensorflow:卷积函数
  3. consul 1.2 支持service mesh
  4. Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇
  5. Java的二十三种设计模式(建造者模式(Builder))
  6. mysql性能调整三板斧
  7. 全国计算机等级考试题库二级C操作题100套(第65套)
  8. 从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
  9. robot 用AP连PC
  10. 基于Java+SpringBoot+vue+node.js等疫情网课管理系统详细设计和实现
  11. C++工作笔记-使用namespace构建常量头文件
  12. python在线翻译脚本_用Python抓取百度翻译内容并打造自己的翻译脚本!
  13. 为什么程序要从0开始计数
  14. 使用 telnet 命令 查看端口的开放、可用情况
  15. 【面向代码】学习 Deep Learning(四) Stacked Auto-Encoders(SAE)
  16. ASP.NET Web Pages - WebGrid 帮助器
  17. SpringMVCfrom:form表单标签和input表单标签简介
  18. IEEE文献高级检索
  19. 学习工具001:PPT画图配色
  20. Backtrader策略实现(一) | 简单双均线

热门文章

  1. idea试用许可证过期的问题
  2. 远程服务器返回错误码: (507) Insufficient Storage
  3. 采油厂污水选用流量计的类型建议
  4. JAVA后端生成树算法,从指定的叶子节点到树根生成树,从树根到所有叶子结点
  5. animation动画几种效果
  6. 如何重置Photoshop首选项?ps重置首选项的方法
  7. 当前中国计算机硬件发展情况,中国计算机硬件技术发展与展望.doc
  8. 优达学城无人驾驶工程师——P5车辆检测功能
  9. IPM模块短路及对地短路剖析
  10. 计算机课吐槽,让上课更有趣!这位老师的课学生可发弹幕提问吐槽