最近一直做一些维护测试的工作,也没有新的东西做,无聊透顶了,很长时间没有接触新的东西。
所以想给自己充充电就看了下ACE的两本书---C++NPv1和C++NPv2。C++NPv1是在TB上买的盗版,质量还行,比较便宜,C++NPv2是在dearbook上买的正版,正版看起来就是舒服些,不过现在好像都绝版了 ^_^
网上也有不少网友针对使用ACE的负面评价,有些评价我也比较认可,不过每个技术都有它的缺点嘛,就像C、C++、Java、C#、PHP、Pyton等等,没有说哪个比哪个好,看具体应用了。抱着取其精华去其糟粕的态度学习了下。其实我学习ACE倒不是说准备使用它,而是觉得ACE在网络通讯结构、C++特性、设计模式这方面用到的知识蛮多的,就当是提高自己这方面能力吧。 因为自己能力有限且项目经验又少,所以看的是晕头转向,花点时间简单的总结下(现在整理的不全,以后有时间再整理),供以后参考,如果觉得哪里写错了,强烈欢迎大家指证。
一: C++NPv1主要涉及到的类:
1.1. Logging_Server 是个抽象类,用来定义接口类型,此类不能实例化。
Logging_Handle 是个日志处理类,被服务器聚合。
1.2. Iterative_Logging_Server 实现基本的循环式服务器。
1.3. Reactor_Logging_Server 实现基本的反应式服务器(本质还是循环式服务器)。
1.4. Reactor_Logging_