模块化是一种将系统分离成独立功能部分的方法,严格定义模块接口、模块间具有透明性。javascript中的模块在一些C、PHP、java中比较常见: c中使用include 包含.h文件;php中使用require_once包含.php文件 java使用import导入包

优点: 
可维护性 
1.灵活架构,焦点分离 
2.方便模块间组合、分解 
3.方便单个模块功能调试、升级 
4.多人协作互不干扰

缺点: 
性能损耗 
1.系统分层,调用链会很长 
2.模块间通信,模块间发送消息会很耗性能

内聚度 
内聚度指模块内部实现,它是信息隐藏和局部化概念的自然扩展,它标志着一个模块内部各成分彼此结合的紧密程度。好处也很明显,当把相关的任务分组后去阅读就容易多了。 设计时应该尽可能的提高模块内聚度,从而获得较高的模块独立性。

耦合度 
耦合度则是指模块之间的关联程度的度量。耦合度取决于模块之间接口的复杂性,进入或调用模块的位置等。与内聚度相反,在设计时应尽量追求松散耦合的系统。

转载于:https://www.cnblogs.com/-zilv/p/11187946.html

什么是模块化?及其优缺点相关推荐

  1. 什么是模块化与模块化的优缺点

    什么是模块化: 模块化就是将复杂的系统分解成一个个独立部分,每个部分实现不同的功能,且互不影响.变为更好管理模块的方式. 模块化的意义: 模块化的意义在于最大化的设计重用,以最少的模块.零部件,更快速 ...

  2. JS模块化说明视频-张晓飞-专题视频课程

    JS模块化说明视频-142人已学习 课程介绍         当项目功能越来越多,代码量便也会越来越多,后期的维护难度会增大,此时在JS方面就会考虑使用模块化规范去管理. 本视频内容涵盖:理解模块化, ...

  3. 前端模块化详解(完整版)

    前言 在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可:如今CPU.浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax ...

  4. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题...

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  5. 什么是模块化?模块化有哪些优缺点

    什么是模块化 简单说就是把系统分成各个独立的部分,每个部分单独实现功能,将系统分割成可独立的功能部分. 随着MVC等框架.微服务等技术的兴起,模块化开发已经称为必须.web前端也已经演变称为大前端. ...

  6. 模块化设计是什么,有什么优缺点?

    概念: 模块化设计是指在对一定范围内的不同功能或相同功能不同性能.不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成不同产品的设计方法. 模块化设计的优点: 模块 ...

  7. nginx 代理 内存_科普Nginx和apache的区别及优缺点比较

    最近很多小伙伴来问我Nginx和apache的区别,这个问题用三言两语也很难解释,于是整理出了这一篇文章与大家共享.除了Nginx和apache的区别,还比较了各自的优缺点.这是我自学Nginx和工作 ...

  8. 使用Qt编写模块化插件式应用程序

    动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来.比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会 ...

  9. [Android Pro] 由模块化到组件化(一)

    cp from : https://blog.csdn.net/dd864140130/article/details/53645290 在Android SDK一文中,我们谈到模块化和组件化,现在我 ...

最新文章

  1. web自动化之鼠标事件
  2. 简单哈弗曼树(Java)
  3. python 获取windows上 网络连接信息 ip dhcp dns gateway
  4. springmvc集成shiro登录失败处理
  5. chrome导入与导出书签
  6. 【DB2报错】执行存储过程报SQLSTATE:-811 SQLCODE:21000,怎么办?
  7. ffmpeg将视频转换成图片
  8. TI的C64X系列的DSPLib实现fft
  9. Ques1017勇者斗恶龙
  10. 青少年Python编程
  11. 面试官最不喜欢不认同的5个跳槽理由
  12. [问题已处理]-alertmanager报错550 Mailbox unavailable or access denied
  13. Redis 3.0集群搭建/配置/FAQ
  14. nokia s40 java软件_诺基亚S40手机实现后台教程
  15. ”我是技术总监,我确实答不出那么多技术细节”
  16. JetBrains系列pycharm等设置主题皮肤
  17. 适合 JS 新手学习的开源项目——在 GitHub 学编程
  18. 金拱门戳中笑点?程序员告诉你 起个好名字是成功的一半
  19. 数据交换实践:创建业务系统间高速公路
  20. FMC板卡标准(二)FMC夹层卡模块

热门文章

  1. 舆情监测系统工作流程大致是怎样的?
  2. 网页版白噪声A Soft Murmur
  3. 支付宝:支付宝里面国际驾照认证件的申请领取步骤
  4. 新松机器人袁_新松机器人有多大成长空间?
  5. 关于打架以及打架的策略的问题
  6. 顶尖游戏设计师陈星汉:虚拟世界的架构观
  7. Django框架学习笔记(一)
  8. Android手机获取imei
  9. SQL 中的生成列/计算列以及主流数据库实现
  10. 心理学|颜色是如何影响我们的情绪的?