1. 块化是一种软件开发方法,它将一个复杂的系统分解成多个独立的、可替换的模块。每个模块都是实现特定功能的组件,可以独立开发、测试和替换,而不影响其他模块。模块化的目的是为了提高系统的可维护性、可扩展性和可重用性,同时降低开发难度和成本。
原因:
通过将大问题分解为小问题,每个模块只处理一部分功能,从而简化了整个系统的复杂性,独立的模块可以在不同的系统和项目中重复使用,减少了重复开发的工作量。由于模块之间的依赖性较低,当需要修改或更新某个功能时,只需修改对应的模块,而不影响其他部分。不同的团队可以同时开发不同的模块,提高了开发效率。
2. 衡量模块独立性的定性标准主要是指模块的内聚性和耦合性。内聚性:指的是模块内部各个组成部分之间的紧密程度。高内聚性的模块专注于单一功能,内部各部分紧密相关,而低内聚性的模块则可能涉及多个不相关的功能,导致模块职责不清晰。耦合性:指的是不同模块之间的相互依赖程度。低耦合性的模块之间相互影响较小,修改一个模块不会对其他模块产生太大影响,而高耦合性的模块则可能因为一个模块的变动而需要修改多个模块。
3. 信息隐藏:是一种设计原则,指的是在一个模块的设计中,将其内部细节隐藏起来,只暴露必要的接口给其他模块。目的是为了减少模块间的依赖,使得每个模块可以独立变化而不影响其他模块。例如,一个计算器的内部算法可以被隐藏起来,用户只需通过提供的按钮和显示屏来交互。局部化:这是指将相关的数据和操作集中在一起,通常是在一个模块内。局部化的目的是为了提高模块的内聚性,使得相关的功能紧密相连,便于理解和维护。比如,一个处理用户登录的模块会包含所有与登录相关的功能,如验证用户名和密码、生成会话等,这些功能都集中在这个模块内部,而不是分散在系统的各个部分。