每周一薦:學習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的書,會對網絡開發程序員有所幫助!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM