是美国萨福克大学已使用十余年的经典教程,利用跨平台开源软件开发框架Qt阐释了C++和设计模式中的主要思想。全书共分四个部分:第一部分介绍C++、UML、Qt、模型-视图、SQL、XML、设计模式等基础知识,目的是为零基础的C++初学者铺垫一条学习面向对象编程的快捷之路;第二部分讲解内存访问、继承等重要的C++特性,是前一部分的延伸和拓展;第三部分使用Phonon编写了一个多媒体播放器,展示了主要技术理念的应用方法;附录部分给出了C++保留关键字、Debian和Qt程序开发环境的配置等内容。每节的练习题和各章后面的复习题,既可作为课堂上的讨论题,也可进一步启发读者对于关键知识点的思考
2023-02-04 11:50:05 48.92MB C++ Qt设计模式
1
第1部分  第1章 开始   1.1 程序块(chunk)   1.2 词法规范   1.3 全局变量   1.4 解释器程序(the dtand-slone interpreter)  第2章 类型与值   2.1 nil(空)   2.2 boolean(布尔)   2.3 number(数字)   2.4 string(字符串)      2.5 table(表)   2.6 function(函数)   2.7 userdata(自定义类型)和thread(线程)  第3章 表达式   3.1 算术操作符   3.2 关系操作符   3.3 逻辑操作符   3.4 字符串连接   3.5 优先级   3.6 table构造式(table constructor)  第4章 语句   4.1 赋值   4.2 局部变量与块(block)   4.3 控制结构    4.3.1 if then else    4.3.2 while    4.3.3 repeat    4.3.4 数字型for(numeric for)    4.3.5 泛型for(generic for)   4.4 break与return  第5章 函数   5.1 多重返回值(multiple results)   5.2 变长参数(variable number of arguments)   5.3 具名实参(named arguments)  第6章 深入函数   6.1 closure(闭合函数)   6.2 非全局的函数(non-global function)   6.3 正确的尾调用(proper tail call)  第7章 迭代器与泛型for   7.1 迭代器与closure   7.2 泛型for的语义   7.3 无状态的迭代器   7.4 具有复杂状态的迭代器   7.5 真正的迭代器  第8章 编译、执行与错误   8.1 编译   8.2 C代码   8.3 错误(error)   8.4 错误处理与异常   8.5 错误消息与追溯(traceback)  第9章 协同程序(coroutine)   9.1 协同程序基础   9.2 管道(pipe)与过滤器(filter)   9.3 以协同程序实现迭代器   9.4 非抢先式的(non-preemptive)多线程  第10章 完整的示例   10.1 数据描述   10.2 马尔可夫链(markov chain)算法 第2部分  第11章 数据结构   11.1 数组   11.2 矩阵与多维数组   11.3 链表   11.4 队列与双向队列   11.5 集合与无序组(bag)   11.6 字符串缓冲   11.7 图  第12章 数据文件与持久性   12.1 数据文件   12.2 串行化(Serialization)    12.2.1 保存无环的table    12.2.2 保存有环的table  第13章 元表(metatable)与元方法(meatmethod)   13.1 算术类的元方法   13.2 关系类的元方法   13.3 库定义的元方法   13.4 table访问的元方法    13.4.1 _ _index元方法    13.4.2 _ _newindex元方法    13.4.3 具有默认值的table    13.4.4 跟踪table的访问    13.4.5 只读的table  第14章 环境   14.1 具有动态名字的全局变量   14.2 全局变量声明   14.3 非全局的环境  第15章 模块与包   15.1 require函数   15.2 编写模块的基本方法   15.3 使用环境   15.4 module函数   15.5 子模块与包  第16章 面向对象编程   16.1 类   16.2 继承   16.3 多重继承   16.4 私密性   16.5 单一方法(single-method)做法  第17章 弱引用table   17.1 备忘录(memoize)函数   17.2 对象属性   17.3 回顾table的默认值 第3部分  第18章 数学库  第19章 table库   19.1 插入和删除   19.2 排序   19.3 连接  第20章 字符串库   20.1 基础字符串函数   20.2 模式匹配(pattern-matching)函数    20.2.1 string.find函数    20.2.2 string.match函数    20.2.3 string.gsub函数    20.2.4 string.gmatch函数   20.3 模式   20.4 捕获(capture)   20.5 替换    20.5.1 URL编码    20.5.2 tab扩展   20.6 技巧  第21章 I/O库   21.1 简单I/O模型   21.2 完整I/O模型    21.2.1 性能小诀窍    21.2.2 二进制文件    21.2.3 其他文件操作  第22章 操作系统库   22.1 日期和时间   22.2 其他系统调用  第23章 调试库   23.1 自省机制    23.1.1 访问局部变量    23.1.2 访问非局部的变量(non-local varible)    23.1.3 访问其他协同程序   23.2 钩子   23.3 性能剖析(profile) 第4部分  第24章 C API概述   24.1 第一个示例   24.2 栈    24.2.1 压入元素    24.2.2 查询元素    24.2.3 其他栈操作   24.3 C API中的错误处理    24.3.1 应用程序代码中的错误处理    24.3.2 库代码中的错误处理  第25章 扩展应用程序   25.1 基础   25.2 table操作   25.3 调用Lua函数   25.4 一个通用的调用函数  第26章 从Lua调用C   26.1 C函数   26.2 C模块  第27章 编写C函数的技术   27.1 数组操作   27.2 字符串操作   27.3 在C函数中保存状态    27.3.1 注册表(registry)    27.3.2 C函数的环境    27.3.3 upvalue  第28章 用户自定义类型   28.1 userdata   28.2 元表   28.3 面向对象的访问   28.4 数组访问   28.5 轻量级userdata(light userdata)  第29章 管理资源   29.1 目录迭代器   29.2 XML分析器  第30章 线程和状态   30.1 多个线程   30.2 Lua状态  第31章 内存管理   31.1 分配函数   31.2 垃圾收集器    31.2.1 原子操作    31.2.2 垃圾收集器的A
2023-01-12 14:03:43 16.65MB Lua 程序 设计 中文
1
GOF 设计模式 中文 高清 经典书籍 值得拥有 带目录 适合进阶
2023-01-01 23:08:42 9.28MB GOF设计模式
1
揭秘Angular2 中文扫描版 带书签 非文字版 高清扫描版
2022-12-22 21:38:16 102.88MB Angular2
1
第Ⅰ部分 敏捷开发 第一章 敏捷实践 1.1 敏捷联盟 1.2 原则 1.3 结论 参考文献 第二章 极限编程概述 2.1 极限编程实践 2.2 结论 参考文献 第三章 计划 3.1 初始探索 3.2 发布计划 3.3 迭代计划 3.4 任务计划 3.5 迭代 3.6 结论 参考文献 第四章 测试 4.1 测试驱动的开发方法 4.2 验收测试 4.3 结论 参考文献 第五章 重构 5.1 素数产生程序一个简单的重构示例 5.2 结论 参考文献 第六章 一次编程实践 6.1 保龄球比赛 6.2 结论 第Ⅱ部分 敏捷设计 第七章 什么是敏捷设计 7.1 软件出了什么错 7.2 设计的臭味——腐化软件的气味 7.3 “Copy”程序 7.4 保持尽可能好的设计 7.5 结论 参考文献 第八章 单一责任原则(SRP) 8.1 单一职责原则(SRP) 8.2 结论 参考文献 第九章 开放—封闭原则(OCP) 9.1 开放—封闭原则(OCP) 9.2 描述 9.3 关键是抽象 9.4 结论 参考文献 第十章 Liskov替换原则(LSP) 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.3 正方形和矩形,更微妙的违规 10.4 一个实际的例子 10.5 用提取公共部分的方法代替继承 10.6 启发式规则和习惯用法 10.7 结论 参考文献 第十一章 依赖倒置原则(DIP) 11.1 依赖倒置原则(DIP) 11.2 层次化 11.3 一个简单的例子 11.4 熔炉示例 11.5 结论 参考文献 第十二章 接口隔离原则(ISP) 12.1 接口污染 12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第Ⅲ部分 薪水支付案例研究 第十三章 COMMAND模式和ACTIVE OBJECT模式 第十四章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托 第十五章 FACADE模式和MEDIATOR模式 第十六章 SINGLETON模式和MONOSTATE模式 第十七章 NULL OBJECT模式 第十八章 薪水支付案例研究:第一次迭代开始 第十九章 薪水支付案例研究:实现 第Ⅳ部分 打包薪水支付系统 第二十章 包的设计原则 第二十一章 FACTORY模式 第二十二章 薪水支付案例研究(第2部分) 第Ⅴ部分 气象站案例研究 第二十三章 COMPOSITE模式 第二十四章 OBSERVER模式——回归为模式 第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式 第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API 第二十七章 案例研究:气象站 第Ⅵ部分 ETS案例研究 第二十八章 VISITOR模式 第二十九章 STATE模式 第三十章 ETS框架 附录 附录A UML表示法Ⅰ:CGI示例 附录B UML表示法Ⅱ:统计多路复用器 附录C 两个公司的讽刺小品 附录D 源代码就是设计 索引
2022-12-19 17:04:05 23.57MB 敏捷 软件 开发 模式
1
QT5开发及实例 中文高清 带源码 PDF 适合入门,魅力 实践 发现,陆文周 主编
2022-12-10 11:08:06 135.12MB QT5开发实例
1
Hive编程指南_PDF_中文高清版.pdf
2022-11-22 17:01:54 26.8MB Hive编程指南 PDF 中文高清版
1
Python灰帽子中文 高清版PDFPython灰帽子中文 高清版PDFPython灰帽子中文 高清版PDFPython灰帽子中文 高清版PDFPython灰帽子中文 高清版PDFPython灰帽子中文 高清版PDF
2022-11-15 19:35:58 1.5MB ww
1
lambda表达式权威指南 《精通lambda表达式:Java多核编程》介绍Java SE 8中与lambda相关的特性是如何帮助Java迎接下一代并行硬件架构的挑战的。本书讲解了如何编写lambda、如何在流与集合处理中使用lambda,并且提供了完整的代码示例。你将学习如何通过lambda表达式充分利用当今多核硬件所带来的性能改进。 主要内容: ● 为何需要lambda,它将如何改变Java编程 ● lambda表达式语法 ● 流与管道的基本操作 ● 使用收集器与汇聚来终止管道 ● 创建流 ● 分割迭代器、fork/join框架与异常 ● 使用微基准测试检查流的性能 ● 使用默认方法演化API
2022-11-12 12:19:26 65.65MB lambda Java 多核编程
1
linux内核设计说明,Linux内核设计与实现(第三版中文高清带目录)
2022-10-28 08:58:56 36.86MB linux linux内核
1