自包含 与 自描述

说明:简单的说,自包含就是任意一个头文件均可独立编译。如果一个文件包含某个头文件,还要包含另外一个头文件才能工作的话,就会增加交流障碍,给这个头文件的用户增添不必要的负担。
示例:
如果a.h不是自包含的,需要包含b.h才能编译,会带来的危害:
每个使用a.h头文件的.c文件,为了让引入的a.h的内容编译通过,都要包含额外的头文件b.h。

额外的头文件b.h必须在a.h之前进行包含,这在包含顺序上产生了依赖。



自包含:组件不依赖其他组件,能够以独立的方式供外部使用。

自描述:当前组件包含了自身与其他组件交互相关的描述信息,不需要其他的配置文件或者额外信息来描述。

自包含是指在组件重用时不需要包含其他的可重用组件...如Web Service就是自包含组件,即它不需要依赖其他组件...

自描述是以元数据以非特定语言的方式描述在代码中定义的每一类型和成员...如.NET CLR就是自描述的,每个模块的元数据都包含与另一个模块进行交互所需的全部信息。元数据自动提供 COM 中 IDL 的功能,允许将一个文件同时用于定义和实现...

原文地址:https://www.cnblogs.com/sddai/p/5701007.html