每周一荐:学习ACE一定要看的书

作  者:david++
发布时间:2012/06/08 09:02
文章地址:http://game-lab.org/?p=320

近两个月都在学习ACE,一个超级强大,也超级复杂的网络框架库。对ACE的大名早有听说,同时也听说过它的复杂性,所以一直不敢去碰它。ACE对程序员的要求是比较高的了,需要对C++、设计模式、POSA、网络、并发等有一定的了解后,才能去碰它。不然真的是一头扎进茫茫大海,越看越复杂,直到消磨完所有对ACE的热情。

经过两个月的摸索,查找各种资料,最后也总算是知道了该如何去学习这个Ace(王牌)基本的ACE,以后有所心得,也会即时在博客上予以分享。下面推荐几本学习ACE必备的工具书。

《C++网络编程:运用ACE和模式消除复杂性 卷1》(简称:C++NPv1)

这应该是你需要了解的第一本关于ACE的书,本书中提出了ACE作者对于网络问题的研究,分为四个设计空间:网络、并发、服务、配置。本书核心讲述网络和并发应用程序的开发,及其ACE与之对应的Wrapper Facade Class,并以一个日志服务器实例作为演示,使用多种方式实现该日志服务器(实例代码参见,ACE_Wrapper/examples/C++NPv1)。(关于Wrapper Facade 模式可以参考《POSA 卷2》,具体优缺点不在此赘述了)。

《C++网络编程:基于ACE和框架的系统化复用 卷2》(简称:C++NPv2)

本书核心内容主要讲述《C++NPv1》中分出的四个设计空间中的:服务器设计空间和配置设计空间,及ACE基于Wrapper Facade的框架实现。如:Connector-Acceptor、Reactor、Proactor、Stream、Service Configurator等。对应于ACE的框架层。

《ACE程序员指南:网络与系统编程的使用设计模式》(简称:APG)

阅读APG,可以对ACE有一个整体的了解,Wrapper层、框架层都有涉及。但本书只对用法做了描述,所以很多地方不如《C++NPv1》和《C++NPv2》深刻,可以将本书作为入门第一本。

《面向模式的软件架构:网络与并发模式 卷2》(简称:POSAv2)

POSA系列的第二本,由ACE作者Douglas C. Schmidt和三位网络开发界几位大牛执笔,根据自身开发网络应用的经验,总结出网络和并发相关模式。许多模式读来,醍醐灌顶。把网络应用开发中的各个难点都提出了相应模式解决方案。因为ACE中运用了很多网络、并发架构模式,都可以在本书中找到相应的描述和讲解。作为一个做服务器端开发的人(在此,指的是做底层框架而非仅仅是应用逻辑开发的),这本书是必须要读的,并且要深刻理解里面提到的模式。

ACE相关论文集(网上的资料,未见相应出版物)

下面这些资料,都是网上一些热爱ACE的人整理的。因为ACE对于网络程序开发有非常大的影响,Douglas C. Schmidt及其ACE热爱者关于ACE也写了不少论文,同时使用ACE实作了很多的应用实例。(多数实例都可以在ACE的源码目录下example、app目录下找到)

  1. 上篇-ACE技术论文集
  2. 中篇-ACE程序员教程
  3. 下篇-ACE应用实例

小结和建议

鉴于ACE的强大和复杂,许多人对此都会望而却步。但作为一个强大而深刻网络开发工具包,很有必要好好研习一番,就算以后不会用到它去直接做开发,但其中的设计思想和设计、架构模式对我们以后做服务器架构和开发有着巨大的帮助。我也会在此信念下,不断地学习ACE,并从中学习关于网络服务器开发的知识,有所心得,会及时分享。也是刚找到一条学习ACE的路线,希望会坚持下去,写下该篇算是第一步。

对于ACE,只看书肯定是不行的,一定要阅读ACE的代码,刚开始学习,最好的开始就是ACE_Wrapper/examples。

坚持、坚持、再坚持!ACE,一定要搞定!希望本篇推荐的关于ACE的书,会对网络开发程序员有所帮助!

时间: 2024-11-08 06:21:36

每周一荐:学习ACE一定要看的书的相关文章

学习软件开发应该看的书

学习软件开发应该看的书 来源: 李越甲的日志 1. C语言提升 <c和指针> <c缺陷和陷阱> <c专家编程> 这三本书是一个初级C程序员必看的三本书,同时也是应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习 2.  C++语言提升 <Effective C++:改善程序与设计的55个具体做法> <More Effective C++:35个改善编程与设计的有效方法(中文版)> <C++沉思录> <C++Template

在嵌入式学习过程中的困惑——我一开始看什么书都看不懂,怎么才能理出一个学习顺序

以前有个学员在学C语言时说,"C语言很多地方都很奇怪,都得用内核的知识去解释,可是你又不先教我内核,我没法学C语言.我只好自己看操作系统的书,看内核代码,可是看不懂."当然看不懂了,内核代码都是用C写的,如果不学内核就没法学C语言,那不学C语言又怎么可能看懂内核?看来这是一个鸡生蛋还是蛋生鸡的问题. 懒真的是人的本性,就连学习的过程都希望是一条路顺利地走下去,不用动脑就能学会的:身后走过的路都是"已知",每走一步就把眼前新的"未知"变成"

自学大数据如何入手?大数据学习入门看什么书?

2018年,火爆的科技层出不穷,大数据.云计算.人工智能.区块链等等都被侃侃而谈.尤其是大数据工程师更是深受程序员的青睐,如此火爆的职业,吸引了大批有志青年的加入.但在加入之前,你仍需要一份详细的就业前景分析报告. 作为中国官方重点扶持的战略性新兴产业,大数据产业已逐步从概念走向落地"大数据"和"虚拟化"两大热门领域得到了广泛关注和重视,90%企业都在使用大数据. 财政大数据包括:公安大数据.质检大数据.食品安全大数据.卫生大数据.共商大数据.民政大数据: 企业大数

值得一看的书之《sed&awk(第2版)》

想学习高级sed和awk可以去看看,收益匪浅. --2016年11月19日看完<sed&awk(第2版)> 下载链接:http://down.51cto.com/data/2264410(需要一个下载豆) 值得一看的书之<sed&awk(第2版)>

程序员必看的书之iOS程序员

前几天发布了一篇程序员必看的书,现在的IT人,程序员们不要一味的敲代码,我们也要有时间为自己充充电,买个kindle,公车,地铁上可以多多看看书.接下来我将为程序员们继续推荐一下比较好书.如果你觉得我推荐的这些书有用,就多看会,如果觉得推荐的不好,那就不要看了,就这么简单.如果你觉得我推荐的书是菜鸟才看的书,那您这位老鸟出门左转.希望给大家带来帮助. Objective-C 2.0程序设计 本书是Objective-C领域的经典著作,对Objective-C进行了系统而全面的阐述,权威性毋庸置疑

学习前端我读过的书

学习前端我读过的书 从事前端近两年,从零开始,读过的书就像走过的路,走过好多路,光明大道也好,崎岖山路也罢,有些路若不是在笔记中有提到还真忘了我走过. 计算机入门:正如这两本书的名字一样会让我们这些小白对计算机和程序有更清晰的认识,截至目前对的一些内容还一知半解,有时间需重读下. <计算机是怎样跑起来的> <程序是怎样跑起来的> 听了一位前辈的建议,买了些大学计算机课程的书,不过只是翻翻,没细看. <现代软件工程> <软件工程> <Web开发技术>

学习MVC和jQuery相关的书

Insus.NET还是较喜欢看纸质书.学习ASP.NET MVC和jQuery编程,Insus.NET为了加强功力,决定再购买几本相关的书:    十月份时,还买了一本: 学习MVC和jQuery相关的书

程序员必看的书(九)

程序员的必看的书已经更新到第九章了,想必大家也都烦了,不过还是有人喜欢的,再次声明我推荐的这些书有些没有看过,不过这些书都是不错的,根据豆瓣评分,以及朋友的阅读都说可以看. 在这里希望可以帮助一些人想看技术书,不知道怎么看的程序员们.再次请大家多多支持,如果大家也有不错的书推荐,也可以投稿.谢谢大家.对了IT江湖iOS客户端上线了,大家可以去Appstore下载,项目开源地址请看文章下方. 计算机程序的构造和解释 本书1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年

值得一看的书之《VIM实用技巧》

 值得一看的书之<VIM实用技巧> 我在2014年接触的linux,在使用linux vim编辑器过程中,碰到了一些vim编辑器的技巧,感觉好神奇,好强大.linux基础书籍上也有介绍vim,但是不全面,于是在2015年底,决定找一本关于详细介绍Vim的书籍,自己要系统的,完完全全的学习vim.于是便购买了<VIM实用技巧>这本书.自己断断续续的花6个月的时间,终于完完整整的看完了这本书,这本书很适合初学linux者学习,推荐给大家.看完后必受益匪浅. <VIM实用技巧>