4.3.4 信息隐藏与局部化
应用模块化原理时,必然会产生一个问题:如何分解一个软件才能得到最佳的模块组合?1972年,D.Parnas提出的信息隐藏原理指出:“每一个模块的实现细节(过程和数据)对于不需要这些信息的其他模块来说应该是隐藏的。”
局部化的概念和信息隐藏概念是密切相关的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。局部化实质上是一种实现信息隐藏的手段,信息隐藏是局部化的结果。(https://www.daowen.com)
信息隐藏意味着有效的模块化可以通过定义一组独立的模块来实现,这些模块相互间的通信对于实现软件功能来说是必要的信息。信息隐藏的原理不仅使得模块可以进行并行开发,还可以减少测试和后期维护的工作量。因为测试和维护阶段不可避免地要修改设计和代码,模块对于多数数据和处理过程细节的隐藏可以减少错误向外传播。此外,整个系统欲扩充功能也只需“插入”新模块,原有的多数模块无须改动。