如何理解信息隐藏和局部化?
信息隐藏
定义:设计的某一个模块的部分特性内容对于其余模块应该是不可见的,因此这个模块不可见的内容对于其他模块来说应该是不需要的。
局部化
定义:同一个模块内密切相关的元素应该尽可能接近,尽量做到局内使用的数据都是由该模块内定义的。
信息隐藏与局部化的关系
两者是一对密切相关的概念,理想的局部化可以做到更好的信息隐藏。
举例:好比一个等级严森的军队,上级考虑的事情没有必要完全告诉下面的士兵(信息隐藏),只需要将部分指令(数据)发下给士兵,而上级里的敏感信息就不需要告诉下面的士兵。而应该把身体机能相近的士兵分在同一个队伍(密切相关的元素应该尽可能接近),当有任务执行时士兵收到上级的命令就开始分配指令给各个队伍,以队伍内规定的暗号来发配任务。