TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
ACE技術內幕:深入解析ACE架構設計與實現原理(簡體書)
滿額折

ACE技術內幕:深入解析ACE架構設計與實現原理(簡體書)

人民幣定價:69 元
定  價:NT$ 414 元
優惠價:87360
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:10 點
相關商品
商品簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

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

名人/編輯推薦

《ACE技術內幕:深入解析ACE架構設計與實現原理》從構架模式、編程示例和源代碼3個維度系統地對經典網絡框架ACE (Adaptive Communication Environment)的架構設計和實現原理進行了深入分析,它能解決4個方面的問題:第一,幫助框架設計者領略軟件框架設計的普適原則和思想,進而設計出自己的軟件框架;第二,幫助ACE應用開發人員加深對ACE框架的理解,提升開發水平,更好地去定制和擴展ACE框架,以及解決C++網絡通信中的難題;第三,幫助C++開發人員加深C++語言功底,書中有大量對C++源代碼的分析,包括網絡編程、動態庫編程和異步編程等,還涉及10余個經典的設計模式的解析;第四,增強平臺開發人員和軟件架構師的技術修養,ACE的設計和實現都極其優秀,它的實現源碼和架構思想非常值得去學習和研究。

目次

前言第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事件處理器的實現2.3.2 Accept事件處理器的實現2.3.3 main函數2.4 事件處理器接口實現2.4.1 事件處理器接口的構造與析構2.4.2 事件處理器接口的使用規範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 調度集操作函數的分析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框架應用示例13.3.1 配置文件3.3.2 可配置組件3.3.3 main函數3.4 ACE動態庫接口封裝的分析3.5 配置組件接口的分析3.6 組件工廠函數的分析3.7 組件配置器設計的分析3.7.1 組件配置器控制接口的分析3.7.2 組件配置器實現的分析3.7.3 語法分析器的分析3.8 動態庫符號定位的分析3.8.1 ACE_Location_Node類分析3.8.2 ACE_Object_Node類的分析3.8.3 ACE_Function_Node類的分析3.9 配置組件倉庫的分析3.9.1 find函數3.9.2 remove函數3.9.3 suspend函數3.9.4 resume函數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框架應用示例23.13.1 可配置組件3.13.2 配置文件3.13.3 配置文件解析流程的分析3.14 配置改變3.15 Configurator框架應用示例33.15.1 靜態配置組件3.15.2 配置文件3.15.3 靜態配置組件分析3.16 進一步學習3.17 總結第4章Task框架4.1 Task框架概述4.2 Task框架應用示例4.2.1 生產者4.2.2 消費者4.2.3 main函數4.3 ACE消息隊列實現分析4.3.1 數據塊結構分析4.3.2 消息塊結構的分析4.3.3 消息隊列實現的分析4.4 ACE多線程編程4.4.1 線程的創建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函數5.3.2 handle_input函數5.3.3 handle_close函數5.3.4 main函數5.4 服務處理器接口的分析5.4.1 open函數5.4.2 handle_close函數5.4.3 close函數5.4.4 shutdown函數5.5 Acceptor設計的分析5.5.1 ACE_Acceptor類5.5.2 open函數5.5.3 handle_input函數5.5.4 handle_close函數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事件完成處理器的實現6.3.2 異步Acceptor的實現6.3.3 main函數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管理器實現的分析6.7.1 構造函數6.7.2 start_aio函數6.7.3 handle_events_i函數6.7.4 find_completed_aio函數6.7.5 start_deferred_aio函數6.7.6 application_specific_code函數6.8 異步非IO事件調度的分析6.8.1 ACE_AIOCB_Notify_Pipe_Manager類6.8.2 post_completion函數6.8.3 putq_result函數6.8.4 process_result_queue函數6.9 定時器事件調度的分析6.9.1 定時器事件操作結果的分析6.9.2 定時器管理器實現的分析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 調度函數分析 311 6.11.2 退出調度分析6.12 進一步學習6.13 總結第7章 Streams框架7.1 管道和過濾器構架模式7.2 Streams框架的概述7.2.1 ACE_Task類7.2.2 put函數7.2.3 put_next函數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函數7.4 ACE_Module類的分析7.4.1 open函數7.4.2 link函數7.4.3 ACE_Module的關閉7.5 ACE_Stream類的分析7.5.1 構造函數7.5.2 open函數7.5.3 push函數7.5.4 close函數7.6 進一步學習7.7 總結 331 參考文獻·

書摘/試閱



具體來說,每個應用程序提供的每個服務都有一個獨立的事件處理器與之對應。由事件處理器處理來自事件源的特定類型的事件。每個事件處理器都事先注冊到Reactor管理器中。Reactor管理器使用同步事件分離器在一個或多個事件源中等待事件的發生。當事件發生后,同步事件分離器通知Reactor管理器,最后由Reactor管理器調度和該事件相關的事件處理器來完成請求的服務。
5.結構
在Reactor模式中,有5個關鍵的參與者。
描述符(handle):由操作系統提供,用于識別每一個事件,如Socket描述符、文件描述符等。在Linux中,它用一個整數來表示。事件可以來自外部,如來自客戶端的連接請求、數據等。事件也可以來自內部,如定時器事件。同步事件分離器(demultiplexer):是一個函數,用來等待一個或多個事件的發生。調用者會被阻塞,直到分離器分離的描述符集上有事件發生。Linux的select函數是一個經常被使用的分離器。事件處理器接口(event handler):是由一個或多個模板函數組成的接口。這些模板函數描述了和應用程序相關的對某個事件的操作。
具體的事件處理器:是事件處理器接口的實現。它實現了應用程序提供的某個服務。每個具體的事件處理器總和一個描述符相關。它使用描述符來識別事件、識別應用程序提供的服務。
Reactor管理器(reactor):定義了一些接口,用于應用程序控制事件調度,以及應用程序注冊、刪除事件處理器和相關的描述符。它是事件處理器的調度核心。Reactor管理器使用同步事件分離器來等待事件的發生。一旦事件發生,Reactor管理器先是分離每個事件,然后調度事件處理器,最后調用相關的模板函數來處理這個事件。通過上述分析,我們注意到,是Reactor管理器而不是應用程序負責等待事件、分離事件
和調度事件。實際上,Reactor管理器并沒有被具體的事件處理器調用,而是管理器調度具體的事件處理器,由事件處理器對發生的事件做出處理。這就是類似Hollywood原則的“反向控制”。應用程序要做的僅僅是實現一個具體的事件處理器,然后把它注冊到Reactor管理器中。接下來的工作由管理器來完成。
現在結合第1章分析的框架五元素來看一下Reactor構架模式的參與者與框架五元素之間的關系:Reactor構架模式的具體實現對應了元素1;事件處理器接口對應元素2;具體的事件處理器對應元素3;Reactor管理器使用了Hollywood原則,可以認為和元素5對應;元素4的功能相對不明顯,沒有明確的對應關系。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區