一、什么是模块化,为什么要模块化?
模块化是将一个系统、程序或产品分解成互相独立的组件或模块的过程,每个模块可以独立开发、测试、维护、更新、替换或升级,同时可以与其他模块组合在一起形成完整的系统或产品。
举个例子
从图中可以看出,手机分为多个模块,当某个模块损坏时就可以单独替换,也可以分模块进行手机升级。假如是一体机,某个部件损坏就要直接把手机换掉,这样的成本不就很大?
所以从生产的角度来说,模块化有以下优点:
(1)生产效率高:
灵活架构,焦点分离,多人协作互不干扰;方便模块间组合、分解。
(2)维护成本低:
可分单元测试;方便单个模块功能调试、升级。
二、衡量模块独立的定性标准是什么?
(1)功能单一性:每个模块只需要做一件事情,不要做过多的事情。比如一个工人只做自己分内的工作。
(2)接口规范性:模块之间的交流应该清晰明确,比如不同国家之间的人交流需要一种通用语言,这才能让不同国家的人交流。
(3)低耦合性:模块之间的联系应该尽量少。
(4)高内聚性:每个模块内部的组成部分应该尽量紧密地联系在一起,比如一个家庭,各个家庭成员共同协作,一起完成家庭的任务
(5)可重用性:每个模块应该尽可能独立,方便在其他地方重复利用,比如某些工具,可以在不同的场景下多次使用。
三、如何理解信息隐藏和局部化?(用自己的话或例子表达含义)
信息隐藏是指在软件设计中,将系统的细节和实现方式隐藏起来,只暴露对外接口,让用户或其他模块无法直接访问或修改内部实现细节。
就像一栋房子的水管、电线等系统都被隐藏在墙里面,住户只需要使用开关、水龙头等外部接口即可,不用关心内部实现。
局部化是指在软件设计中,将系统分解成多个模块,每个模块负责一个局部的功能,模块之间的联系尽量减少,每个模块都是独立的。
就像一个城市被分成多个区,每个区都有自己的特色和功能,互不干扰,但又能相互交流合作。