ACE技術內幕

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

前言

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

內容概要

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

書籍目錄

前 言
第1章 概述
1.1 模式與框架
1.1.1 模式
1.1.2 框架
1.1.3 模式與框架的關系
1.2 ace框架
1.3 關于本書
1.3.1 本書的內容
1.3.2 源代碼的表示
1.3.3 測試組網
1.3.4 幾個常用術語
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 進一步學習
1.6 總結
第2章 reactor框架
2.1 reactor構架模式
2.2 reactor框架概述
2.3 reactor框架應用示例
2.3.1 io事件處理器的實現(xiàn)
2.3.2 accept事件處理器的實現(xiàn)
2.3.3 main函數(shù)
2.4 事件處理器接口實現(xiàn)
2.4.1 事件處理器接口的構造與析構
2.4.2 事件處理器接口的使用規(guī)范
2.5 reactor管理器的設計分析
2.5.1 reactor管理器接口分析
2.5.2 bridge設計模式接口
2.5.3 ace_select_reactor_impl類的分析
2.5.4 ace_select_reactor_t類的分析
2.6 io事件調度的分析
2.6.1 io事件調度集的設計
2.6.2 調度集操作函數(shù)的分析
2.6.3 i o事件處理器倉庫的分析
2.6.4 io事件注冊流程的分析
2.6.5 io事件調度流程的分析
2.6.6 io事件刪除流程的分析
2.7 信號量事件調度的分析
2.7.1 信號量事件管理器的分析
2.7.2 reactor管理器中的信號量事件處理
2.7.3 信號量事件刪除流程的分析
2.8 定時器事件調度的分析
2.8.1 定時器事件管理器的分析
2.8.2 定時器事件注冊流程的分析
2.8.3 定時器事件調度流程的分析
2.8.4 定時器事件刪除流程的分析
2.9 notify事件調度的分析
2.9.1 notify事件管理器的分析
2.9.2 notify事件注冊流程的分析
2.9.3 notify事件調度流程的分析
2.10 進一步學習
2.11 總結
第3章 service configurator框架
3.1 component configurator構架模式
3.2 configurator框架概述
3.3 configurator框架應用示例1
3.3.1 配置文件
3.3.2 可配置組件
3.3.3 main函數(shù)
3.4 ace動態(tài)庫接口封裝的分析
3.5 配置組件接口的分析
3.6 組件工廠函數(shù)的分析
3.7 組件配置器設計的分析
3.7.1 組件配置器控制接口的分析
3.7.2 組件配置器實現(xiàn)的分析
3.7.3 語法分析器的分析
3.8 動態(tài)庫符號定位的分析
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框架應用示例2
3.13.1 可配置組件
3.13.2 配置文件
3.13.3 配置文件解析流程的分析
3.14 配置改變
3.15 configurator框架應用示例3
3.15.1 靜態(tài)配置組件
3.15.2 配置文件
3.15.3 靜態(tài)配置組件分析
3.16 進一步學習
3.17 總結
第4章 task框架
4.1 task框架概述
4.2 task框架應用示例
4.2.1 生產者
4.2.2 消費者
4.2.3 main函數(shù)
4.3 ace消息隊列實現(xiàn)分析
4.3.1 數(shù)據(jù)塊結構分析
4.3.2 消息塊結構的分析
4.3.3 消息隊列實現(xiàn)的分析
4.4 ace多線程編程
4.4.1 線程的創(chuàng)建
4.4.2 線程的運行
4.4.3 線程的退出
4.4.4 線程等待
4.5 task框架接口的分析
4.5.1 ace_task_base類
4.5.2 ace_task類
4.6 active object設計模式
4.6.1 模式概述
4.6.2 應用示例
4.6.3 ace_future和ace_future_rep類
4.7 進一步學習
4.8 總結
第5章 acceptor_connector框架
5.1 acceptor_connector構架模式
5.2 acceptor_connector框架概述
5.3 acceptor_connector框架應用示例
5.3.1 open函數(shù)
5.3.2 handle_input函數(shù)
5.3.3 handle_close函數(shù)
5.3.4 main函數(shù)
5.4 服務處理器接口的分析
5.4.1 open函數(shù)
5.4.2 handle_close函數(shù)
5.4.3 close函數(shù)
5.4.4 shutdown函數(shù)
5.5 acceptor設計的分析
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設計的分析
5.6.1 ace_connector類
5.6.2 阻塞模式連接的分析
5.6.3 非阻塞模式連接的分析
5.7 進一步學習
5.8 總結
第6章 proactor框架
6.1 proactor構架模式
6.2 proactor框架概述
6.3 proactor框架應用示例
6.3.1 io事件完成處理器的實現(xiàn)
6.3.2 異步acceptor的實現(xiàn)
6.3.3 main函數(shù)
6.4 事件完成處理器接口的分析
6.5 proactor管理器的設計分析
6.5.1 proactor管理器接口的分析
6.5.2 bridge設計模式接口
6.5.3 ace_posix_proactor接口分析
6.6 異步操作初始化器和操作結果分析
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管理器實現(xiàn)的分析
6.7.1 構造函數(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事件調度的分析
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 定時器事件調度的分析
6.9.1 定時器事件操作結果的分析
6.9.2 定時器管理器實現(xiàn)的分析
6.10 網絡連接之accept事件調度的分析
6.10.1 reactor任務分析
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框架的調度分析
6.11.1 調度函數(shù)分析
6.11.2 退出調度分析
6.12 進一步學習
6.13 總結
第7章 streams框架
7.1 管道和過濾器構架模式
7.2 streams框架的概述
7.2.1 ace_task類
7.2.2 put函數(shù)
7.2.3 put_next函數(shù)
7.3 streams框架應用示例
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的關閉
7.5 ace_stream類的分析
7.5.1 構造函數(shù)
7.5.2 open函數(shù)
7.5.3 push函數(shù)
7.5.4 close函數(shù)
7.6 進一步學習
7.7 總結
參考文獻

章節(jié)摘錄

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

編輯推薦

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

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    ACE技術內幕 PDF格式下載


用戶評論 (總計34條)

 
 

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

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7