出版時(shí)間:2012-7-30 出版社:機(jī)械工業(yè)出版社華章公司 作者:潘榮 頁(yè)數(shù):333
Tag標(biāo)簽:無(wú)
前言
為什么寫(xiě)作本書(shū) 軟件框架的設(shè)計(jì)始終代表著業(yè)界最高的設(shè)計(jì)水準(zhǔn),《設(shè)計(jì)模式》一書(shū)指出:如果說(shuō)應(yīng)用程序難以設(shè)計(jì),那么工具箱就更難了,而框架則是最難的?! ”M管業(yè)界有一些大型的、常用的軟件框架,如OMG的CORBA框架、SUN的EJB框架和微軟的DCOM框架,但是很多一線的開(kāi)發(fā)人員在日常的開(kāi)發(fā)活動(dòng)中并不和它們打交道,也很少接觸其他軟件框架。在這種情況下,我們?nèi)绾蝸?lái)學(xué)習(xí)軟件框架的設(shè)計(jì)思想,如何讓這些思想來(lái)幫助我們?cè)O(shè)計(jì)和架構(gòu)自己的軟件框架呢? ACE(Adaptive Communication Environment)是一個(gè)開(kāi)源的、面向?qū)ο蟮木W(wǎng)絡(luò)框架,它實(shí)現(xiàn)了很多用于并發(fā)通信軟件的核心模式,是一個(gè)非常好的軟件框架學(xué)習(xí)平臺(tái)。學(xué)習(xí)ACE所需要的特殊的專(zhuān)業(yè)知識(shí)非常少,讀者只要熟悉C++和網(wǎng)絡(luò)編程即可。有了本書(shū)可以讓你的框架學(xué)習(xí)事半功倍?! ‰m然本書(shū)還無(wú)法和參考資料中大師們的著作相比,但是其對(duì)你學(xué)習(xí)軟件框架的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理同樣會(huì)有非常大的幫助。侯捷大師說(shuō)過(guò)這樣一句話(huà):“源碼之前,了無(wú)秘密。”本書(shū)通過(guò)框架代碼、框架使用示例、UML類(lèi)圖、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í)間和精力?! ?shū)中每一個(gè)框架的架構(gòu)原理均來(lái)自《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í)參考以上兩本書(shū)。
內(nèi)容概要
《ace技術(shù)內(nèi)幕:深入解析ace架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理》從構(gòu)架模式、編程示例和源代碼3個(gè)維度系統(tǒng)地對(duì)經(jīng)典網(wǎng)絡(luò)框架ace(adaptive
communication
environment)的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)原理進(jìn)行了深入分析,它能解決4個(gè)方面的問(wèn)題:第一,幫助框架設(shè)計(jì)者領(lǐng)略軟件框架設(shè)計(jì)的普適原則和思想,進(jìn)而設(shè)計(jì)出自己的軟件框架;第二,幫助ace應(yīng)用開(kāi)發(fā)人員加深對(duì)ace框架的理解,提升開(kāi)發(fā)水平,更好地去定制和擴(kuò)展ace框架,以及解決c++網(wǎng)絡(luò)通信中的難題;第三,幫助c++開(kāi)發(fā)人員加深c++語(yǔ)言功底,書(shū)中有大量對(duì)c++源代碼的分析,包括網(wǎng)絡(luò)編程、動(dòng)態(tài)庫(kù)編程和異步編程等,還涉及10余個(gè)經(jīng)典的設(shè)計(jì)模式的解析;第四,增強(qiáng)平臺(tái)開(kāi)發(fā)人員和軟件架構(gòu)師的技術(shù)修養(yǎng),ace的設(shè)計(jì)和實(shí)現(xiàn)都極其優(yōu)秀,它的實(shí)現(xiàn)源碼和架構(gòu)思想非常值得去學(xué)習(xí)和研究。
全書(shū)一共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)架模式與之對(duì)應(yīng),構(gòu)架模式闡述了框架的設(shè)計(jì)原理,給出了框架的總體結(jié)構(gòu),是學(xué)習(xí)框架的理論基礎(chǔ);第二,框架的應(yīng)用分析,每個(gè)框架都有一個(gè)應(yīng)用實(shí)例與之對(duì)應(yīng),應(yīng)用實(shí)例既幫助讀者了解框架的使用方法,又為讀者提供了一個(gè)可以調(diào)試的應(yīng)用程序,便于讀者使用調(diào)試器探索框架的內(nèi)部秘密;第三,框架的實(shí)現(xiàn)分析,這是本書(shū)的重點(diǎn),對(duì)框架的實(shí)現(xiàn)原理進(jìn)行了詳細(xì)的分析,并且對(duì)重點(diǎn)的類(lèi)和流程給出了uml類(lèi)圖和uml順序圖,可以讓讀者在短時(shí)間內(nèi)掌握框架的實(shí)現(xiàn)技術(shù)。
書(shū)籍目錄
前 言
第1章 概述
1.1 模式與框架
1.1.1 模式
1.1.2 框架
1.1.3 模式與框架的關(guān)系
1.2 ace框架
1.3 關(guān)于本書(shū)
1.3.1 本書(shū)的內(nèi)容
1.3.2 源代碼的表示
1.3.3 測(cè)試組網(wǎng)
1.3.4 幾個(gè)常用術(shù)語(yǔ)
1.4 ace socket封裝器
1.4.1 示例分析
1.4.2 socket ipc分析
1.4.3 ace_sock_acceptor類(lèi)的分析
1.4.4 ace_sock_connector類(lèi)的分析
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類(lèi)的分析
2.5.4 ace_select_reactor_t類(lèi)的分析
2.6 io事件調(diào)度的分析
2.6.1 io事件調(diào)度集的設(shè)計(jì)
2.6.2 調(diào)度集操作函數(shù)的分析
2.6.3 i o事件處理器倉(cāng)庫(kù)的分析
2.6.4 io事件注冊(cè)流程的分析
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í)器事件注冊(cè)流程的分析
2.8.3 定時(shí)器事件調(diào)度流程的分析
2.8.4 定時(shí)器事件刪除流程的分析
2.9 notify事件調(diào)度的分析
2.9.1 notify事件管理器的分析
2.9.2 notify事件注冊(cè)流程的分析
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)庫(kù)接口封裝的分析
3.5 配置組件接口的分析
3.6 組件工廠函數(shù)的分析
3.7 組件配置器設(shè)計(jì)的分析
3.7.1 組件配置器控制接口的分析
3.7.2 組件配置器實(shí)現(xiàn)的分析
3.7.3 語(yǔ)法分析器的分析
3.8 動(dòng)態(tài)庫(kù)符號(hào)定位的分析
3.8.1 ace_location_node類(lèi)分析
3.8.2 ace_object_node類(lèi)的分析
3.8.3 ace_function_node類(lèi)的分析
3.9 配置組件倉(cāng)庫(kù)的分析
3.9.1 find函數(shù)
3.9.2 remove函數(shù)
3.9.3 suspend函數(shù)
3.9.4 resume函數(shù)
3.10 配置組件類(lèi)型的分析
3.10.1 ace_service_type類(lèi)
3.10.2 ace_service_type_impl類(lèi)
3.10.3 ace_service_object_type類(lèi)
3.10.4 ace_service_type_factory類(lèi)
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類(lèi)
4.5.2 ace_task類(lèi)
4.6 active object設(shè)計(jì)模式
4.6.1 模式概述
4.6.2 應(yīng)用示例
4.6.3 ace_future和ace_future_rep類(lèi)
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類(lèi)
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類(lèi)
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類(lèi)
6.6.3 ace_posix_asynch_result類(lèi)
6.6.4 ace_posix_asynch_read_stream_result類(lèi)
6.6.5 ace_posix_asynch_read_stream類(lèi)
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類(lèi)
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類(lèi)
6.10.4 ace_posix_asynch_accept_result類(lèi)
6.10.5 ace_asynch_acceptor類(lèi)
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 管道和過(guò)濾器構(gòu)架模式
7.2 streams框架的概述
7.2.1 ace_task類(lèi)
7.2.2 put函數(shù)
7.2.3 put_next函數(shù)
7.3 streams框架應(yīng)用示例
7.3.1 logrec_reader類(lèi)
7.3.2 logrec_timer類(lèi)
7.3.3 logrec_suffix類(lèi)
7.3.4 logrec_writer類(lèi)
7.3.5 main函數(shù)
7.4 ace_module類(lèi)的分析
7.4.1 open函數(shù)
7.4.2 link函數(shù)
7.4.3 ace_module的關(guān)閉
7.5 ace_stream類(lèi)的分析
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框架的基本組成及本書(shū)的內(nèi)容組織形式和約定。最后通過(guò)一個(gè)示例分析ACE的Socket封裝器(Socket Wrapper Facade)。Socket編程技術(shù)是整個(gè)網(wǎng)絡(luò)編程的基礎(chǔ),而ACE的Socket封裝器則是ACE對(duì)Socket編程接口面向?qū)ο蟮姆庋b,它為上層提供了統(tǒng)一的、面向?qū)ο蟮慕涌冢@是我們學(xué)習(xí)ACE網(wǎng)絡(luò)框架的基礎(chǔ)。 1.1 模式與框架 1.1.1 模式 自Gof(《設(shè)計(jì)模式》一書(shū)的作者四人組)對(duì)設(shè)計(jì)模式進(jìn)行歸納、整理和分類(lèi),并出版了《設(shè)計(jì)模式》一書(shū)后,設(shè)計(jì)模式在軟件開(kāi)發(fā)的各個(gè)領(lǐng)域都大放光彩。在此基礎(chǔ)上,各路“英雄豪杰”又對(duì)設(shè)計(jì)模式進(jìn)行了更深入的研究,一時(shí)間“百花齊放、百家爭(zhēng)鳴”。軟件的分析與設(shè)計(jì)在面向過(guò)程、面向?qū)ο蟮姆椒ǖ幕A(chǔ)之上又發(fā)展出了面向模式的分析與設(shè)計(jì)方法。更有專(zhuān)家預(yù)言未來(lái)的軟件開(kāi)發(fā)是面向組件、面向框架的。面向組件、面向框架的軟件開(kāi)發(fā)可以帶來(lái)更高的穩(wěn)定性與更好的重用性?! ≡凇对O(shè)計(jì)模式》一書(shū)中,作者引用了模式的經(jīng)典定義:每一個(gè)模式都描述了一個(gè)在我們周?chē)粩嘀貜?fù)發(fā)生的問(wèn)題,以及該問(wèn)題的解決方案的核心,這樣就能一次又一次地使用該方案而不必做重復(fù)努力?! ?hellip;…
編輯推薦
《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開(kāi)發(fā)人員的水平,及其對(duì)ACE定制和擴(kuò)展的能力。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版