POCO C++库学习和应用

POCO概述

POCO C++是一个开源的C++类库的集合,它主要提供简单的、快速的网络和可移植应用程序的C++开发,这个类库和C++标准库可以很好的集成并填补C++标准库的功能空缺。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。

POCO C++四个核心库

核心库包括

  • Foundation 是POCO C++的核心库,包含了底层平台的抽象层,还有经常使用的实用类和函数。包含了固定大小的整数类型,提供整型与字节转换的函数。 Poco::Any类(基于 boost::Any),统一的错误处理及调试工具,包含各种异常类和支持断言功能,同时还包含一些内存管理类,基于引用计数的智能指针,和用于buffer管理及内存池的类。
  • XML 支持读取, 处理及写XML. 遵循POCO的一个指导原则—
  • Util 它包含了创建命令行和服务器应用的框架. 包括命令行参数处理支持(校验, 绑定到配置属性, etc.) 及管理配置信息. 支持不同的配置文件格式— Windows形式的 INI 文件, Java-类型的属性文件, XML文件及Windows注册表.
  • Net 库使得编写基于网络的应用容易. 不管是应用是简单的通过纯TCP socket发送数据还是需要完整的内建HTTP server的应用,都可以在Net库中找到有用的东西。
  • NetSSL,主要在Net库中网络类中提供SSL支持;
  • Date库,在不同的SQL库中提供统一的接口访问。

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库的时候经常觉得它的类写得好,内聚性非常强,耦合性很低。这个和它整体结构的合理性确实也是有一定关系的。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值