一、模块化
1.定义:模块化是一种处理复杂系统分解为更好的可管理模块的方式
2.使用模块化的原因(or作用):
- 模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。 [1]
- 模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。 [1]
- 在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。
二、衡量模块独立的定性标准是什么?
衡量模块的定性标准通常是指评估一个模块在特定方面表现好坏的一系列准则或标准。这些标准可以是主观的,也可以是客观的。模块是否能够完成其设计的功能,是否符合预期的使用目的。模块在运行过程中是否稳定,是否容易出现故障或错误。模块是否容易使用,用户是否能够快速上手并有效使用。模块是否能与其他系统或模块兼容,是否能够适应不同的环境。模块是否能够防止未授权访问,是否能够保护数据不被泄露。模块是否容易进行维护和升级,是否方便进行错误修复。模块在执行任务时的速度和效率如何,是否能够满足性能要求。模块是否能够容易地进行扩展,以适应未来可能的需求变化。模块的开发和维护成本与其带来的价值是否相匹配。
三、如何理解信息隐藏和局部化?
信息隐藏
信息隐藏,也称为封装,是指将一个模块的实现细节隐藏起来,只暴露必要的接口给外部使用。这样做的好处是,模块的内部实现可以自由更改,只要接口保持不变,外部调用者就不需要关心这些变化。
例子:
假设你有一个计算器程序,它有一个模块负责进行加法运算。这个模块的内部可能使用了一个复杂的算法来优化性能。但是,对于使用这个模块的用户来说,他们只需要知道如何调用加法函数,而不需要了解背后的算法细节。这样,即使以后算法需要改进或更换,只要加法函数的接口不变,用户就不需要做任何修改。
局部化
局部化是指将相关的数据和操作这些数据的代码放在一起,使得模块的职责更加明确,减少模块间的依赖。局部化有助于提高代码的可读性和可维护性。
例子:
继续使用上面的计算器程序,我们可以将加法、减法、乘法和除法等操作都封装在同一个模块中,这个模块负责所有的基本数 ** 算。这样,如果需要修改某个运算的实现,只需要在这个模块内部进行,而不会影响到其他模块。同时,其他模块如果需要进行数 ** 算,只需要调用这个模块提供的接口,而不需要关心具体的实现细节。