C++编程规范之11:隐藏信息

简介:

摘要:

    不要泄密,不要公开提供抽象的实体的内部信息。

    为了尽量减少操作抽象的调用代码和抽象的实现之间的依赖性,必须隐藏实现内部的数据。否则,调用代码就能够访问该信息,或者更糟,操作该信息,而原来应属于内部的信息就泄漏给了调用代码所依赖的抽象。应该公开抽象,而不是数据。

    信息隐藏主要从一下两方面降低了项目的成为,加快了项目的进度,减少了项目的风险。

1.      限制了变化的影响范围。信息隐藏缩小了变化所引起的“连锁反应”的范围,也降低了由此带来的成本。

2.      强化了不变式。它限制了负责维护程序不变式的代码。

    不要从任何提供抽象的实体中公开数据。数据只是抽象、概念性状态的一种可能的具体化而已。如果将注意力集中在概念而不是在其表示形式上,就能够提供富于提示性的接口,并按需要对实现进行调整。

    绝对不要将类的数据成员设为public,或者公开指向它们的指针或者句柄而使其公开,这是一个很常见的信息隐藏的例子。模块和程序同样应该提供定义抽象和其中信息流的接口,从而使与调用嗲吗的通信比采用数据共享方式更安全,耦合度更低。

相关文章
|
1月前
|
自然语言处理 算法 Java
C/C++ 程序员编程规范之注释
C/C++ 程序员编程规范之注释
61 1
|
1月前
|
存储 JSON 数据库
【C++ 软件设计思路】跨平台应用开发:如何选择合适的格式保存信息
【C++ 软件设计思路】跨平台应用开发:如何选择合适的格式保存信息
120 0
|
1月前
|
C++
C++学习系列---读取文件名存入txt和从txt读取每行信息
C++学习系列---读取文件名存入txt和从txt读取每行信息
|
1月前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
176 0
|
1月前
|
C++
C++程序中的类封装性与信息隐蔽
C++程序中的类封装性与信息隐蔽
24 1
|
1月前
|
存储 算法 测试技术
|
1月前
|
程序员 编译器 C++
|
1月前
|
存储 安全 编译器
【C++ 多态原理】深入探讨C++的运行时类型信息(RTTI)和元数据
【C++ 多态原理】深入探讨C++的运行时类型信息(RTTI)和元数据
111 1
|
1月前
|
存储 安全 编译器
【C++ 多态 】深入理解C++的运行时类型信息(RTTI):dynamic_cast和typeid的应用与原理
【C++ 多态 】深入理解C++的运行时类型信息(RTTI):dynamic_cast和typeid的应用与原理
127 1
|
1月前
|
程序员 开发工具 C++
C/C++ 程序员编程规范之排版
C/C++ 程序员编程规范之排版
43 1