1
 软件工程
1.6.1.3 4.1.3 信息隐藏与局部化

4.1.3 信息隐藏与局部化

应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件呢?”信息隐藏原理指出:对于不需要这些信息的模块来说,应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)是不能访问的。

局部化的概念和信息隐藏的概念是密切相关的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近的过程。在模块中使用局部数据元素是局部化的一个例子。显然,局部化有助于实现信息隐藏。

实际上,应该隐藏的不是有关模块的一切信息,而是模块的实现细节。因此,有人主张把这条原理称为细节隐藏。

“隐藏”意味着有效的模块化可以通过定义一组独立的模块来实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息。

如果在测试期间和以后的软件维护期间需要修改软件,那么使用信息隐藏原理作为模块化系统设计的标准就会带来极大好处。因为对于软件的其他部分而言,绝大多数数据和过程是隐藏的(也就是“看”不见的),在修改期间由于疏忽而引入的错误就很少可能传播到软件的其他部分。