软件架构基本技法——信息隐藏

是什么

对使用模块的用户隐藏模块实现相关的信息。

模块内有哪些数据,函数是用何种逻辑实现功能的,这些信息全部对外隐藏。我们要让外部无法直接访问模块内的数据。模块的函数也尽量不要公开。

用户只能通过最低限度公开的函数来操作模块。

为什么

将用户不必知晓的内部详细信息隐藏起来,可以减少接口的代码量,让信息交互变得更简洁,降低代码的复杂程度。

从用户的角度来看,由于排除了多余信息的干扰,模块的使用方法变得更加简单。

另外,公开的部分越少,模块内部的修改就越不容易影响到外部、这样可以将修改代码的范围控制到最小。

怎么做

实现信息隐藏需要使用封装的手段,分组可以整理“关系网”,降低隐藏信息的难度。

封装与信息隐藏的区别?

封装

  • 将相关元素集中起来模块化
  • 将关系紧密的数据与函数整合在一起

信息隐藏

  • 隐藏模块的内部状态和内部函数
  • 阻止外部对内部的直接访问

很多技术文档将信息隐藏归到封装中,其实就表示封装后的内部权限的概念(例如C++ public、private、protected)

猜你喜欢

转载自blog.csdn.net/u012069234/article/details/113185455
今日推荐