ACE技術(shù)內(nèi)幕

出版時(shí)間:2012-7-30  出版社:機(jī)械工業(yè)出版社華章公司  作者:潘榮  頁數(shù):333  
Tag標(biāo)簽:無  

前言

  為什么寫作本書  軟件框架的設(shè)計(jì)始終代表著業(yè)界最高的設(shè)計(jì)水準(zhǔn),《設(shè)計(jì)模式》一書指出:如果說應(yīng)用程序難以設(shè)計(jì),那么工具箱就更難了,而框架則是最難的。  盡管業(yè)界有一些大型的、常用的軟件框架,如OMG的CORBA框架、SUN的EJB框架和微軟的DCOM框架,但是很多一線的開發(fā)人員在日常的開發(fā)活動(dòng)中并不和它們打交道,也很少接觸其他軟件框架。在這種情況下,我們?nèi)绾蝸韺W(xué)習(xí)軟件框架的設(shè)計(jì)思想,如何讓這些思想來幫助我們設(shè)計(jì)和架構(gòu)自己的軟件框架呢?  ACE(Adaptive Communication Environment)是一個(gè)開源的、面向?qū)ο蟮木W(wǎng)絡(luò)框架,它實(shí)現(xiàn)了很多用于并發(fā)通信軟件的核心模式,是一個(gè)非常好的軟件框架學(xué)習(xí)平臺(tái)。學(xué)習(xí)ACE所需要的特殊的專業(yè)知識(shí)非常少,讀者只要熟悉C++和網(wǎng)絡(luò)編程即可。有了本書可以讓你的框架學(xué)習(xí)事半功倍?! ‰m然本書還無法和參考資料中大師們的著作相比,但是其對你學(xué)習(xí)軟件框架的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理同樣會(huì)有非常大的幫助。侯捷大師說過這樣一句話:“源碼之前,了無秘密。”本書通過框架代碼、框架使用示例、UML類圖、UML順序圖詳細(xì)分析了ACE的Reactor、Service Configurator、Task、Acceptor_Connector、Proactor和Streams等6個(gè)框架。這些圖例不僅可以幫助你從源代碼的角度學(xué)習(xí)框架的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理,實(shí)現(xiàn)與軟件框架的一次親密接觸,還可以真正減少你學(xué)習(xí)所需的時(shí)間和精力?! 忻恳粋€(gè)框架的架構(gòu)原理均來自《Pattern-Oriented Software Architecture—A System of Patterns》和《Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2》,想深入學(xué)習(xí)架構(gòu)原理的讀者可以在閱讀時(shí)參考以上兩本書。 

內(nèi)容概要

  《ace技術(shù)內(nèi)幕:深入解析ace架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》從構(gòu)架模式、編程示例和源代碼3個(gè)維度系統(tǒng)地對經(jīng)典網(wǎng)絡(luò)框架ace(adaptive
communication
environment)的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理進(jìn)行了深入分析,它能解決4個(gè)方面的問題:第一,幫助框架設(shè)計(jì)者領(lǐng)略軟件框架設(shè)計(jì)的普適原則和思想,進(jìn)而設(shè)計(jì)出自己的軟件框架;第二,幫助ace應(yīng)用開發(fā)人員加深對ace框架的理解,提升開發(fā)水平,更好地去定制和擴(kuò)展ace框架,以及解決c++網(wǎng)絡(luò)通信中的難題;第三,幫助c++開發(fā)人員加深c++語言功底,書中有大量對c++源代碼的分析,包括網(wǎng)絡(luò)編程、動(dòng)態(tài)庫編程和異步編程等,還涉及10余個(gè)經(jīng)典的設(shè)計(jì)模式的解析;第四,增強(qiáng)平臺(tái)開發(fā)人員和軟件架構(gòu)師的技術(shù)修養(yǎng),ace的設(shè)計(jì)和實(shí)現(xiàn)都極其優(yōu)秀,它的實(shí)現(xiàn)源碼和架構(gòu)思想非常值得去學(xué)習(xí)和研究。
  全書一共7章,詳細(xì)分析了ace的reactor、service
configurator、task、acceptor_connector、proactor和streams等6個(gè)框架的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理。每個(gè)框架的分析分為3部分:第一,框架的設(shè)計(jì)分析,每個(gè)框架(除task框架)都有一個(gè)構(gòu)架模式與之對應(yīng),構(gòu)架模式闡述了框架的設(shè)計(jì)原理,給出了框架的總體結(jié)構(gòu),是學(xué)習(xí)框架的理論基礎(chǔ);第二,框架的應(yīng)用分析,每個(gè)框架都有一個(gè)應(yīng)用實(shí)例與之對應(yīng),應(yīng)用實(shí)例既幫助讀者了解框架的使用方法,又為讀者提供了一個(gè)可以調(diào)試的應(yīng)用程序,便于讀者使用調(diào)試器探索框架的內(nèi)部秘密;第三,框架的實(shí)現(xiàn)分析,這是本書的重點(diǎn),對框架的實(shí)現(xiàn)原理進(jìn)行了詳細(xì)的分析,并且對重點(diǎn)的類和流程給出了uml類圖和uml順序圖,可以讓讀者在短時(shí)間內(nèi)掌握框架的實(shí)現(xiàn)技術(shù)。

書籍目錄

前 言
第1章 概述
1.1 模式與框架
1.1.1 模式
1.1.2 框架
1.1.3 模式與框架的關(guān)系
1.2 ace框架
1.3 關(guān)于本書
1.3.1 本書的內(nèi)容
1.3.2 源代碼的表示
1.3.3 測試組網(wǎng)
1.3.4 幾個(gè)常用術(shù)語
1.4 ace socket封裝器
1.4.1 示例分析
1.4.2 socket ipc分析
1.4.3 ace_sock_acceptor類的分析
1.4.4 ace_sock_connector類的分析
1.5 進(jìn)一步學(xué)習(xí)
1.6 總結(jié)
第2章 reactor框架
2.1 reactor構(gòu)架模式
2.2 reactor框架概述
2.3 reactor框架應(yīng)用示例
2.3.1 io事件處理器的實(shí)現(xiàn)
2.3.2 accept事件處理器的實(shí)現(xiàn)
2.3.3 main函數(shù)
2.4 事件處理器接口實(shí)現(xiàn)
2.4.1 事件處理器接口的構(gòu)造與析構(gòu)
2.4.2 事件處理器接口的使用規(guī)范
2.5 reactor管理器的設(shè)計(jì)分析
2.5.1 reactor管理器接口分析
2.5.2 bridge設(shè)計(jì)模式接口
2.5.3 ace_select_reactor_impl類的分析
2.5.4 ace_select_reactor_t類的分析
2.6 io事件調(diào)度的分析
2.6.1 io事件調(diào)度集的設(shè)計(jì)
2.6.2 調(diào)度集操作函數(shù)的分析
2.6.3 i o事件處理器倉庫的分析
2.6.4 io事件注冊流程的分析
2.6.5 io事件調(diào)度流程的分析
2.6.6 io事件刪除流程的分析
2.7 信號(hào)量事件調(diào)度的分析
2.7.1 信號(hào)量事件管理器的分析
2.7.2 reactor管理器中的信號(hào)量事件處理
2.7.3 信號(hào)量事件刪除流程的分析
2.8 定時(shí)器事件調(diào)度的分析
2.8.1 定時(shí)器事件管理器的分析
2.8.2 定時(shí)器事件注冊流程的分析
2.8.3 定時(shí)器事件調(diào)度流程的分析
2.8.4 定時(shí)器事件刪除流程的分析
2.9 notify事件調(diào)度的分析
2.9.1 notify事件管理器的分析
2.9.2 notify事件注冊流程的分析
2.9.3 notify事件調(diào)度流程的分析
2.10 進(jìn)一步學(xué)習(xí)
2.11 總結(jié)
第3章 service configurator框架
3.1 component configurator構(gòu)架模式
3.2 configurator框架概述
3.3 configurator框架應(yīng)用示例1
3.3.1 配置文件
3.3.2 可配置組件
3.3.3 main函數(shù)
3.4 ace動(dòng)態(tài)庫接口封裝的分析
3.5 配置組件接口的分析
3.6 組件工廠函數(shù)的分析
3.7 組件配置器設(shè)計(jì)的分析
3.7.1 組件配置器控制接口的分析
3.7.2 組件配置器實(shí)現(xiàn)的分析
3.7.3 語法分析器的分析
3.8 動(dòng)態(tài)庫符號(hào)定位的分析
3.8.1 ace_location_node類分析
3.8.2 ace_object_node類的分析
3.8.3 ace_function_node類的分析
3.9 配置組件倉庫的分析
3.9.1 find函數(shù)
3.9.2 remove函數(shù)
3.9.3 suspend函數(shù)
3.9.4 resume函數(shù)
3.10 配置組件類型的分析
3.10.1 ace_service_type類
3.10.2 ace_service_type_impl類
3.10.3 ace_service_object_type類
3.10.4 ace_service_type_factory類
3.11 指令解析功能的分析
3.12 配置文件解析流程的分析
3.13 configurator框架應(yīng)用示例2
3.13.1 可配置組件
3.13.2 配置文件
3.13.3 配置文件解析流程的分析
3.14 配置改變
3.15 configurator框架應(yīng)用示例3
3.15.1 靜態(tài)配置組件
3.15.2 配置文件
3.15.3 靜態(tài)配置組件分析
3.16 進(jìn)一步學(xué)習(xí)
3.17 總結(jié)
第4章 task框架
4.1 task框架概述
4.2 task框架應(yīng)用示例
4.2.1 生產(chǎn)者
4.2.2 消費(fèi)者
4.2.3 main函數(shù)
4.3 ace消息隊(duì)列實(shí)現(xiàn)分析
4.3.1 數(shù)據(jù)塊結(jié)構(gòu)分析
4.3.2 消息塊結(jié)構(gòu)的分析
4.3.3 消息隊(duì)列實(shí)現(xiàn)的分析
4.4 ace多線程編程
4.4.1 線程的創(chuàng)建
4.4.2 線程的運(yùn)行
4.4.3 線程的退出
4.4.4 線程等待
4.5 task框架接口的分析
4.5.1 ace_task_base類
4.5.2 ace_task類
4.6 active object設(shè)計(jì)模式
4.6.1 模式概述
4.6.2 應(yīng)用示例
4.6.3 ace_future和ace_future_rep類
4.7 進(jìn)一步學(xué)習(xí)
4.8 總結(jié)
第5章 acceptor_connector框架
5.1 acceptor_connector構(gòu)架模式
5.2 acceptor_connector框架概述
5.3 acceptor_connector框架應(yīng)用示例
5.3.1 open函數(shù)
5.3.2 handle_input函數(shù)
5.3.3 handle_close函數(shù)
5.3.4 main函數(shù)
5.4 服務(wù)處理器接口的分析
5.4.1 open函數(shù)
5.4.2 handle_close函數(shù)
5.4.3 close函數(shù)
5.4.4 shutdown函數(shù)
5.5 acceptor設(shè)計(jì)的分析
5.5.1 ace_acceptor類
5.5.2 open函數(shù)
5.5.3 handle_input函數(shù)
5.5.4 handle_close函數(shù)
5.6 connector設(shè)計(jì)的分析
5.6.1 ace_connector類
5.6.2 阻塞模式連接的分析
5.6.3 非阻塞模式連接的分析
5.7 進(jìn)一步學(xué)習(xí)
5.8 總結(jié)
第6章 proactor框架
6.1 proactor構(gòu)架模式
6.2 proactor框架概述
6.3 proactor框架應(yīng)用示例
6.3.1 io事件完成處理器的實(shí)現(xiàn)
6.3.2 異步acceptor的實(shí)現(xiàn)
6.3.3 main函數(shù)
6.4 事件完成處理器接口的分析
6.5 proactor管理器的設(shè)計(jì)分析
6.5.1 proactor管理器接口的分析
6.5.2 bridge設(shè)計(jì)模式接口
6.5.3 ace_posix_proactor接口分析
6.6 異步操作初始化器和操作結(jié)果分析
6.6.1 公共接口介紹
6.6.2 ace_posix_asynch_operation類
6.6.3 ace_posix_asynch_result類
6.6.4 ace_posix_asynch_read_stream_result類
6.6.5 ace_posix_asynch_read_stream類
6.7 ace_posix_aiocb_proactor管理器實(shí)現(xiàn)的分析
6.7.1 構(gòu)造函數(shù)
6.7.2 start_aio函數(shù)
6.7.3 handle_events_i函數(shù)
6.7.4 find_completed_aio函數(shù)
6.7.5 start_deferred_aio函數(shù)
6.7.6 application_specific_code函數(shù)
6.8 異步非io事件調(diào)度的分析
6.8.1 ace_aiocb_notify_pipe_manager類
6.8.2 post_completion函數(shù)
6.8.3 putq_result函數(shù)
6.8.4 process_result_queue函數(shù)
6.9 定時(shí)器事件調(diào)度的分析
6.9.1 定時(shí)器事件操作結(jié)果的分析
6.9.2 定時(shí)器管理器實(shí)現(xiàn)的分析
6.10 網(wǎng)絡(luò)連接之a(chǎn)ccept事件調(diào)度的分析
6.10.1 reactor任務(wù)分析
6.10.2 異步acceptor分析
6.10.3 ace_posix_asynch_accept類
6.10.4 ace_posix_asynch_accept_result類
6.10.5 ace_asynch_acceptor類
6.11 proactor框架的調(diào)度分析
6.11.1 調(diào)度函數(shù)分析
6.11.2 退出調(diào)度分析
6.12 進(jìn)一步學(xué)習(xí)
6.13 總結(jié)
第7章 streams框架
7.1 管道和過濾器構(gòu)架模式
7.2 streams框架的概述
7.2.1 ace_task類
7.2.2 put函數(shù)
7.2.3 put_next函數(shù)
7.3 streams框架應(yīng)用示例
7.3.1 logrec_reader類
7.3.2 logrec_timer類
7.3.3 logrec_suffix類
7.3.4 logrec_writer類
7.3.5 main函數(shù)
7.4 ace_module類的分析
7.4.1 open函數(shù)
7.4.2 link函數(shù)
7.4.3 ace_module的關(guān)閉
7.5 ace_stream類的分析
7.5.1 構(gòu)造函數(shù)
7.5.2 open函數(shù)
7.5.3 push函數(shù)
7.5.4 close函數(shù)
7.6 進(jìn)一步學(xué)習(xí)
7.7 總結(jié)
參考文獻(xiàn)

章節(jié)摘錄

  第1章 概述  本章先介紹模式與框架的基本概念及它們之間的關(guān)系。然后介紹ACE框架的基本組成及本書的內(nèi)容組織形式和約定。最后通過一個(gè)示例分析ACE的Socket封裝器(Socket Wrapper Facade)。Socket編程技術(shù)是整個(gè)網(wǎng)絡(luò)編程的基礎(chǔ),而ACE的Socket封裝器則是ACE對Socket編程接口面向?qū)ο蟮姆庋b,它為上層提供了統(tǒng)一的、面向?qū)ο蟮慕涌冢@是我們學(xué)習(xí)ACE網(wǎng)絡(luò)框架的基礎(chǔ)?! ?.1  模式與框架  1.1.1  模式  自Gof(《設(shè)計(jì)模式》一書的作者四人組)對設(shè)計(jì)模式進(jìn)行歸納、整理和分類,并出版了《設(shè)計(jì)模式》一書后,設(shè)計(jì)模式在軟件開發(fā)的各個(gè)領(lǐng)域都大放光彩。在此基礎(chǔ)上,各路“英雄豪杰”又對設(shè)計(jì)模式進(jìn)行了更深入的研究,一時(shí)間“百花齊放、百家爭鳴”。軟件的分析與設(shè)計(jì)在面向過程、面向?qū)ο蟮姆椒ǖ幕A(chǔ)之上又發(fā)展出了面向模式的分析與設(shè)計(jì)方法。更有專家預(yù)言未來的軟件開發(fā)是面向組件、面向框架的。面向組件、面向框架的軟件開發(fā)可以帶來更高的穩(wěn)定性與更好的重用性?! ≡凇对O(shè)計(jì)模式》一書中,作者引用了模式的經(jīng)典定義:每一個(gè)模式都描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題的解決方案的核心,這樣就能一次又一次地使用該方案而不必做重復(fù)努力。  ……

編輯推薦

  《ACE技術(shù)內(nèi)幕:深入解析ACE架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》從構(gòu)架模式、編程示例和源代碼三個(gè)維度系統(tǒng)深入解讀ACE的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理,幫助提升ACE開發(fā)人員的水平,及其對ACE定制和擴(kuò)展的能力。 

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    ACE技術(shù)內(nèi)幕 PDF格式下載


用戶評論 (總計(jì)34條)

 
 

  •   一直尋找解析ACE的資料,終于看到了一本書,不錯(cuò)。
  •   書不錯(cuò),但是例子跟ACE源碼是一樣的
  •   ACE那本不貼近讀者
  •   眾所周知ACE的代碼太龐大了,直接去讀代碼有點(diǎn)太痛苦,很感謝作者寫了這本書,讓學(xué)習(xí)ACE更加輕松
  •   學(xué)習(xí)ACE的好書籍。
  •   紙質(zhì)不錯(cuò),送書速度不錯(cuò),第二天就送到了;還有,因?yàn)槲疫@邊沒有樓梯,我的書也很多;送書的,還幫我把書送到5樓。特別感謝!謝謝當(dāng)當(dāng),我的好朋友!
  •   內(nèi)容挺深的,適合C++熟練的程序員或設(shè)計(jì)師看
  •   在當(dāng)當(dāng)買東西無數(shù)次了,每次都很滿意,好開心!
  •   物流很給力!書的質(zhì)量不錯(cuò)!
  •   一般般!有點(diǎn)價(jià)值
  •   別人買的。公司報(bào)銷
  •   不錯(cuò)。6.0的版本
  •   書寫得應(yīng)該不錯(cuò). 但不適合我.
    如果研究ACE的原理, 并且研究架構(gòu)設(shè)計(jì), 那么這本書很適合.
    如果是想快速掌握ACE的開發(fā), 那么這本書不合適.
    我買這本書是想快速掌握ACE的開發(fā), 但這本書并沒有達(dá)到我的預(yù)期. 或者C++網(wǎng)絡(luò)編程會(huì)更適合我.
  •   ACE的國內(nèi)原創(chuàng)書籍不多,這本書基本上中規(guī)中矩,值得一讀。
  •   寫ACE方面的畢竟比較少。
  •   不是簡單的使用手冊,而是分析了其中的架構(gòu)
  •   本書整體還不錯(cuò),就模塊的關(guān)聯(lián)度和配合關(guān)系闡述還需更清楚點(diǎn)
  •   書還不錯(cuò),只不過里面有一些錯(cuò)別字。
  •   看代碼的時(shí)候,結(jié)合書看看
  •   這本書寫的挺好的。
  •   梳理一遍
  •   太忙了,還沒看多少,書的質(zhì)量不錯(cuò)的。
  •   講解的深度還是不大夠
  •   沒ACE實(shí)戰(zhàn)經(jīng)驗(yàn)的可以看看,不急的話可以等電子版;里面例子基本和ACE自帶的沒什么區(qū)別,對實(shí)際工作中沒多大用處,感覺作者就是個(gè)理論學(xué)者;不過也不用抱怨,國人的書就這水平了!
  •   學(xué)習(xí)ACE難得的好書
  •   C++框架、架構(gòu)學(xué)習(xí)好書
  •   內(nèi)容和質(zhì)量都滿意,學(xué)習(xí)中。
  •   學(xué)習(xí)ace肯定要看的,寫得不錯(cuò)
  •   ACE值得一看
  •   好書,內(nèi)容不錯(cuò),質(zhì)量也不錯(cuò)
  •   學(xué)習(xí)C++的模式
  •   質(zhì)量挺好的?。海?/li>
  •   學(xué)習(xí)C++和框架編程的好書
  •     國內(nèi)技術(shù)書里面還算不錯(cuò)的,里面的關(guān)鍵架構(gòu)分析還是花了作者心思的,之前因?yàn)楣ぷ鞯年P(guān)系研讀過源代碼,這本書里面對ACE的關(guān)鍵技術(shù)架構(gòu)分析還是比較用心的,建議學(xué)習(xí)使用ACE的人參考
      附推薦書籍(按照學(xué)習(xí)順序):
      c++ network programming vol 1
      c++ network programming vol 2
      ACE programmer's guide
      ACE技術(shù)文章+本書
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7