什么是模块化,模块化的好处是?

模块化是一种处理复杂系统分解为更好的可管理模块的方式。

所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数。模块化开发使用代码耦合度降低,模块化的意义在于最大化的设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。

模块化的好处

优点:

a .  可维护性

1、灵活架构,焦点分离

2、方便模块间组合、分解

3、方便单个模块功能调试、升级

4、多人协作互不干扰

b .  可测试性

可分单元测试

拓展:

缺点:

性能损耗

1、系统分层,调用链会很长

2、模块间发送消息会很耗性能

补充:

内聚度

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

耦合度

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

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

  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. Java程序的运行原理及JVM的启动是多线程的吗?
  2. LockSettingsService的setLockCredentialInternal函数详解
  3. 【题解】luogu p1111 修复公路
  4. 解决华为交换机S5700无法解除ip/Mac绑定的问题
  5. redis 哨兵 异步_redis 使用历程
  6. 初中变成了菜园子了!
  7. MySQL之SQL优化详解(一)
  8. Mysql源码学习——Thread Manager
  9. 最新Java开发毕业论文参考文献干货满满
  10. UI基础二:下拉,F4,OP等
  11. hp linux 禁用u盘启动不了,笔记本被禁用U盘启动功能的bios设置解除方法
  12. Flutter插件shared_preferences数据存储的使用
  13. MATLAB colormap函数详解
  14. Cannot create symlink/symbolic to `xxx': Operation not supported
  15. arXiv2022-12 | FLIP:Scaling Language-Image Pre-training via Masking
  16. awk 分隔符_awk 命令快速入门
  17. 新闻推荐:谷歌新闻、搜狐新闻、今日头条调研分析
  18. 获取本地电脑连接的所有WIFI密码(适合Windows 11/10/8/7)
  19. 金鹰Authorware视频教程
  20. 每日互动联合绍兴高速交警、温州高速交警和浙江高信发布“高速障碍物预警系统”

热门文章

  1. Discuz! 模板制作
  2. 电力自动化系统为何需要卫星同步时钟装置?
  3. 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
  4. html怎么做出相框的效果,使用html5 svg和css3制作边框运动的动画效果
  5. 边缘计算与深度学习——初读研究生的迷茫
  6. 手机幻灯片html代码,html5手机幻灯片制作手指滑动触屏手机幻灯片代码
  7. 其他笔记 - matlab代码转换为python代码(SMOP、numpy)
  8. schedule-调度器
  9. icloud邮箱android手机,如何用iCloud账号登陆邮箱 使用方法【详解】
  10. 37.softmax多元逻辑回归