POCO C++库学习和分析 -- Foundation库结构
Foundation库是POCO库集中的一个,提供了编程时的一些常用抽象。在程序中被分成了18个部分,分别是:
1)Core
这部分除了建立跨平台库的基础头文件外,最有意义的部分是分装了原子计数的基本类(AtomicCounter),以及垃圾收集的一些类,如AutoPtr,SharedPtr。
2)Cache
顾名思义,内存Cache
3)Crypt
数字摘要
4)DateTime
时间
5)Events
分装了事件
6)Filesystem
文件系统,主要是对文件本身的操作,如移动,拷贝文件等
7)Hashing
Hash表
8)Logging
日志系统
9)Notifications
通知
10)Processes
进程通讯
11)RegularExpression
正则表达式,依赖于PCRE库.(http://www.pcre.org)
12)SharedLibrary
文件和类的动态实时加载
13)Streams
流
14)Tasks
任务
15)Text
文本装换
16)Threading
多线程
17)URI
URI操作
18)UUID
UUID生成和操作
在这18个模块中,Core、Events、Notifications、Processes、Tasks、Threading这几个模块应用时,对于创建整体程序架构的影响非常大,基本上可以决定了一个应用程序的复杂度,合理的应用这些模块可以使应用程序松耦合。其余的一些模块对应用整体结构影响不大,带来的都是一些局部的影响。
在看POCO库的时候经常觉得它的类写得好,内聚性非常强,耦合性很低。这个和它整体结构的合理性确实也是有一定关系的。
(版权所有,转载时请注明作者和出处 )