C++再学习之:名字空间
由于没有经过正规的训练,以前学习的C++和面向对象的知识都是零零散散,肤浅,自以为是的,
借着这次写代码的机会把以前学习的一些知识重温一遍,系统整理一下。
再次学习TCPL,感觉与多年前又不一样,回想起那个年少轻狂,少不更事的年代,有大把的时间和精力,真是富有得让人羡慕。。。。。
下面开始正题,不想大段的写,就零星的摘抄吧:
当一个模块使用另一个模块时,他并不需要知道有关被使用模块的所有东西,理想的情况是,一个模块的大部分细节都不为其他使用者所知。
如果真的这么做了,那么结果代码就会是简单的、高效的、易理解的、可维护的,如此等等,因为他是我们基本设计的直接反映。
名字空间是一种描述逻辑分组的机制。也就是说,如果有一些声明按照某种准则在逻辑上属于同一个集团,就把他们放在同一个名字空间,以表明这种事实。
描述模块的界面是一种最基本的设计活动,同一个模块可以为不同的用户提供不同的界面,而且界面的设计通常是远在实现细节变得更具体之前进行的。
界面的作用就是减小程序不同部分之间的相互依赖。最小的界面将会使程序易于理解,有很好的数据隐蔽性,容易修改,也编译得很快。