新書推薦:
《
大模型应用开发:RAG入门与实战
》
售價:NT$
407.0
《
不挨饿快速瘦的减脂餐
》
售價:NT$
305.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:NT$
504.0
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:NT$
602.0
《
化妆品学原理
》
售價:NT$
254.0
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:NT$
214.0
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
內容簡介:
《ace技术内幕:深入解析ace架构设计与实现原理》从构架模式、编程示例和源代码3个维度系统地对经典网络框架ace(adaptive
communication
environment)的架构设计和实现原理进行了深入分析,它能解决4个方面的问题:第一,帮助框架设计者领略软件框架设计的普适原则和思想,进而设计出自己的软件框架;第二,帮助ace应用开发人员加深对ace框架的理解,提升开发水平,更好地去定制和扩展ace框架,以及解决c++网络通信中的难题;第三,帮助c++开发人员加深c++语言功底,书中有大量对c++源代码的分析,包括网络编程、动态库编程和异步编程等,还涉及10余个经典的设计模式的解析;第四,增强平台开发人员和软件架构师的技术修养,ace的设计和实现都极其优秀,它的实现源码和架构思想非常值得去学习和研究。
全书一共7章,详细分析了ace的reactor、service
configurator、task、acceptor_connector、proactor和streams等6个框架的架构设计与实现原理。每个框架的分析分为3部分:第一,框架的设计分析,每个框架(除task框架)都有一个构架模式与之对应,构架模式阐述了框架的设计原理,给出了框架的总体结构,是学习框架的理论基础;第二,框架的应用分析,每个框架都有一个应用实例与之对应,应用实例既帮助读者了解框架的使用方法,又为读者提供了一个可以调试的应用程序,便于读者使用调试器探索框架的内部秘密;第三,框架的实现分析,这是本书的重点,对框架的实现原理进行了详细的分析,并且对重点的类和流程给出了uml类图和uml顺序图,可以让读者在短时间内掌握框架的实现技术。
目錄 :
前 言
第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框架应用示例1
3.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框架应用示例2
3.13.1 可配置组件
3.13.2 配置文件
3.13.3 配置文件解析流程的分析
3.14 配置改变
3.15 configurator框架应用示例3
3.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 调度函数分析
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 总结
参考文献