信息隐藏,《代码大全2》节抄
信息隐藏是结构化程序设计和面向对象设计的基础之一。
结构化程序里黑盒子的概念即源于信息隐藏。
而面向对象设计中,它又引出了封装和模块化的概念,并与抽象的概念紧密相关。
接口应该尽可能少地暴露其内部工作机制。
《论将系统分解为模块的准则》
信息隐藏的地方可能是某个易变的区域,或者是某种文件格式或者是某种数据类型的实现方式。
隐藏复杂度:这样不用再去应付它,除非你要特别关注的时候
隐藏变化源,这样在发生变化的时候,其影响就能被限制在局部范围内。
复杂度的根源包括:复杂的数据类型、文件结构、布尔判断、及晦涩的算法。
试图在架构层和编码层均避免性能上的损耗。
你不必要在任何一层上担心。
因为架构层按照信息隐藏的目标去设计系统并不会与按照性能目标去设计相冲突。
如果你谨记信息隐藏和性能这两点,那么这两个目标(信息隐藏和性能)都会达到。
试图没有错误,就是最大的错误
受限于所坚持的思路,你很可能与最有效的方法失之交臂。
这个世界的两种划分方式:古典和浪漫