1.什么是模块化?为什么要模块化?
模块化就是将复杂的系统或功能拆分成多个相对独立、功能单一的模块。
优点:这样做可以简化开发、提高代码复用性、降低维护成本,并提升整个系统的可扩展性和可维护性。每个模块负责完成特定的功能,通过接口与其他模块进行交互,从而实现整个系统的功能。
模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。模块具有多种属性,包括接口、功能、逻辑、状态等,其中功能和状态与接口反映模块的外部特性,而逻辑则反映其内部特性。在系统的结构中,模块是可组合、分解和更换的单元。
2.衡量模块独立的定性标准是什么?用自己的话表达其含义
衡量模块独立的定性标准主要有两个。一个是高内聚,模块内部各个功能联系紧密,互相合作完成一个指定的功能。二是模块间的低耦合,耦合性越低,该模块对其他模块的依赖越少,所以更加容易进行维护和拓展。
3.如何理解信息隐藏和局部化?用自己的话或者例子表达其含义
信息隐藏:指设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。这种隐藏可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引入的错误传播到软件的其他部分。例如,一个计算圆面积的模块可以隐藏其内部的数学公式和计算过程,对于其他模块而言只需要知道输入半径和输出面积即可。
局部化:指把一些关系密切的软件元素物理地放得彼此靠近。这种局部化有助于实现信息隐藏,因为不同模块之间的紧密联系被限制在局部范围内,避免了系统中不必要的耦合和依赖。例如,一个处理用户输入的模块可以与一个处理输出的模块放在同一个文件夹内,而与其他模块放在不同的文件夹内,这样就实现了局部化。