- 论坛徽章:
- 1
|
每当我向新同事推荐使用ACE时..他们第一反应就是 " 这个东西太大了.太复杂了..出了问题不好定位"
错:
ACE是挺大的.但是它的好多组件都是独立的,你可以只用它的Reactor 也可以只用它的Stream. 还有它的Task .
这些都是独立的..当然这些都是框架, 至于其他的功能类,那就更独立了.所以如果不你想一口气把所有的东西都掌握掉,
单纯熟悉一个模块应该是很容易的.
ACE好多人都不熟..其他人学习起来可能得花时间:
错:
ACE安装包内附带好多例子..并且几乎每个功能类都附带一段测试代码..只要你不是刚刚毕业的学生..对C++比较熟悉.
而且对网络编程.进程/线程间通信. 线程互斥等基本的东西比较熟.看起来绝对不会有问题.
ACE出了问题不好调试.
错:
ACE发展至今已经有10 多年的历史了..几乎跟STL一般年纪.. ACE社区的规模跟BOOST相当.有近上千人的开发人员.
而且有世界各地的程序在使用它.测试它..发展至今.已经相当健壮.我相信Douglas C. Schmidt的带领下.经过这么长时间的
开发,改进,它的稳定性绝对值得依赖..如果是出了问题.一般情况肯定你使用有误..重新审视你的代码.以最保守的方式再测试
一下,或许就OK了..
ACE会有像MSDN那样健全的文档吗?
错:
这是一个思想误区..MSDN之所以文档健全那是因为它不开源,并且是商业的. 不过在这方面ACE已经做得相当好, ACE社区
出版过两本书, 一本介绍(上下卷),一本指南, 讲得都非常详细, 而且它每个功能类都有测试代码,还有大量的实例供代参考..在我
看来这已经相当不错了.. boost也就仅此而已吧.
用ACE库.会影响我的效率吗?
又错:
只要你是C++工程.就一定会封装,ACE就是帮你做了这一步.它绝对做没必要的嵌套..如果你看了代码就会发现.根本不会在代码
级别上影响效率.而且我相信它会提高你的效率.因为ACE的开发人员对一些细节的东西已经做过优化. 比如 重载new 操作符..显式
调用构造函数.这些都是在Effective C++ 中提到的. 我绝对相信ACE封装的代码比你封装的要好.要安全.高效..
用ACE库.如果遇到问题.怎么办?
ACE的邮件列表(users@cse.wustl.edu[/email])相当活跃,超过boost, 每天都会有人提出不同的问题或建议.而更难能可贵的是多
部分邮件是Douglas C. Schmidt 亲自回复..所以如果你遇到问题.尽可以在邮件列表中求助..世界上最好的程序员将为您解答问题!!
.当然首先你的英文要好.不然人家看不懂.
千言万语..就是告诉大家..不要被表面现象给吓住了..尝试去接触它..喜欢它..玩转它..让我们有更多的时间去考虑编码以外的工作..当
你的同事还在为封装跨平台的线程类时,你可能已经在为你的程序做优化了.
来吧..让我们抛起ACE的热潮..
PS: 用ACE 5分钟就可以构建好你的网络通信层
[ 本帖最后由 cookis 于 2007-12-24 09:13 编辑 ] |
评分
-
查看全部评分
|