在学习了课本内容后,我对模块化、模块独立定性标准、信息隐藏和局部化的理解如下:
一、模块化
1.什么是模块化?
模块化是指将整个产品或系统分解为大小合适、相对独立的模块。软件设计中的模块化是软件设计中的分解和抽象思想的具体体现。
2.为什么要模块化?
(一)、一个软件系统的模块化结构给出了系统的分解方案,使得开发人员可以以分而治之的方式分别实现每个模块;
(二)、同时,每个模块通过所声明的接口提供外部抽象,使得其他开发人员在无须了解模块内部实现细节的情况下就可以调用模块的功能以及实现模块集成。
二、衡量模块独立的定性标准
软件模块的独立性一般可以用内聚度和耦合度来衡量,好的模块化设计应该实现模块的高内聚和低耦合,即:模块内部紧密相关共同完成所聚焦的职责,模块之外松散相关,依赖较少,相互影响较小。
三、信息隐藏和局部化
1.信息隐藏:信息隐藏(Information Hfiding)是指一个模块(例如组件或类)将实现细节隐藏在内部,仅通过受限的接口对外提供访问。如果没有实现信息隐藏,而是将模块内部的实现细节都对外暴露,那么即使模块分解得当也会造成不必要的模块间耦合。
优点:
(1)首先,信息隐藏通过屏蔽实现细节以及暴露抽象接口的方式降低了具他模块开发者对于当前模块的认知复杂性。
(2)其次,信息隐藏通过抽象降低了内部实现细节的变化对于其他模块的影响。
(3)最后,信息隐藏通过受控接口提供访问,可以更好地实现对于内部数据和操作的保护。
2.局部化:局部化是指将一些具有密切相关的代码分配到一个独立的模块,实现分而治之。
3.总结:信息隐藏和局部化都是提高软件模块独立性的手段。