包容类库是Borland C 时代提出的概念,随着微软开发套件的流行逐步被世人淡忘了。其实,包容类库从数学原理上讲、是个非常优秀的设计。但是,由于Borland 公司没有能够推出包容类库的可用实现,包容类库这个理论上的优秀设计逐渐退出了历史舞台。
这里,介绍一下我对包容类库的理解。根据数据的规范化程度(或者哈希化程度),可以使用不同的包容类库类型来处理:
- 链表(list):主要用于处理有序的或者易于规范化的数据。
- 哈希表(hashTable):主要用于处理哈希化的数据。
- 包(bag):底层使用链表、顶层使用哈希表的二层复合结构,其数据型可以参考专业设备通讯中把相关数据组织成数据块传播的做法,事实上这样的数据块通常也叫做数据包。
- 堆(pile):底层使用哈希表、顶层使用链表的二层复合结构,其数据型可以参考工厂或者现场环境采样数据(需要对不同采样点的不同类型数据进行分组管理)。
- 池(pool):哈希化缓冲队列,其数据型可以参考公共网络接口数据。
- 树(tree):可以通过二层链表结构实现,通常用于处理比较规范的数据。
- 二叉树(binaryTree):属于比较完美的数据类型,可能适用于所有的数据处理。
- 一般来讲,规范化程度高,数据处理速度比较快、系统开销比较小;哈希化程度高,数据处理速度比较慢、系统开销比较大。