书籍详情
Symbian OS通用设计模式
作者:(美)伊索特 等著,杨明军 译
出版社:清华大学出版社
出版时间:2010-01-01
ISBN:9787302212973
定价:¥48.00
购买这本书可以去
内容简介
如果您曾经问过自己“专家们如何设计移动设备软件?”那么手头的这《Symbian OS通用设计模式》就是为您准备的。《Symbian OS通用设计模式》汇集了Symbian 公司一些最杰出的软件工程师的智慧和经验,并将这些专家的知识提炼成一组通用的设计模式,在设计Symbian 智能手机软件时您可以合理地使用这些设计模式。《Symbian OS通用设计模式》旨在帮助您解决在智能手机平台软件开发中经常遇到的各种难题。了解潜在问题,同时掌握用来解决这些问题的模式,您就能够在设计和实现健壮高效的Symbian OS 应用和服务程序方面具有抢先起步的优势。《Symbian OS通用设计模式》涵盖的所有模式都针对Symbian OS进行了专门的适配。书中的11个完整示例详细说明了每种模式的工作原理,它们都采用SymbianC++语言实现,以便于您改写这些示例,将其用于自己编写的软件中。
作者简介
Nicholas Addo Nicholas从事Symbian OS开发工作已六年了。他最初加入的是Symbian的浏览器技术(Browser Technology)小组,从事一个通用的内容处理框架的开发工作。后来,他转到个人信息管理(Personal Information Management)小组,从事企业集团调度(Enterprise Group Scheduling)技术开发。离开这个小组之后,他加入了多技术开发(Multi-technology development)小组,从事跨技术(cross-technology)项目和过程改进(process-improvement)项目。在这些项目的产品管理过程中,他为Symbian OS定义了一项组件技术(Component Technology)产品策略,并不断参与Symbian OS核心风格的改进计划。Nicholas在刚参加工作时是一名电子工程师,为电信行业开发半导体设备。后来他成为了一名专职软件开发者。他起初专攻的是实时嵌入式系统领域,后来又为印刷和版前印刷行业针对图像扫描仪。 记录器以及打印寄存器和颜色控制设备开发了基于Windows的用户界面。Adrian Issott Adrian在2004年加入了Symbian的Shortlink团队,最初从事蓝牙立体声耳机相关支撑技术的开发,后来从事蓝牙HAI的改进工作。在2006年,他转而成为了一名专注于系统特性(如性能。 RAM用量。 可靠性以及安全)的架构师。目前他的精力一方面投入到一些领域(如系统启动和跟踪)的长期架构改进方面,另一方面投入到一些用来帮助设备制造商优化设备并发挥Symbian OS最大功效的紧急项目上。Adrian毕业于剑桥大学耶稣学院,获得了数学学科一级荣誉学位。
目录
第1章 引言 1
1.1 关于本书 1
1.2 目标读者 1
1.3 本书适用的Symbian OS版本 2
1.4 通用设计模式 2
1.5 Symbian OS模式 3
1.5.1 基于Symbian OS的软件约束 3
1.5.2 Symbian OS上下文中的重要约束 4
1.5.3 其他约束 6
1.5.4 已经就位的模式元素 7
1.6 设计模式的模板 7
1.6.1 模式名称 7
1.6.2 目的 7
1.6.3 别名 7
1.6.4 问题 8
1.6.5 解决方案 8
1.6.6 其他已知的应用 9
1.6.7 变种和扩展 9
1.6.8 参考资料 9
1.7 本书结构 9
1.8 其他信息来源 10
第2章 错误处理策略 11
2.1 快速失败 12
2.1.1 目的 12
2.1.2 别名 12
2.1.3 问题 12
2.1.4 解决方案 14
2.1.5 其他已知应用 22
2.1.6 变种和扩展 23
2.1.7 参考资料 23
2.2 逐步提升错误 23
2.2.1 目的 23
2.2.2 别名 23
2.2.3 问题 24
2.2.4 解决方案 26
2.2.5 其他已知应用 35
2.2.6 变种和扩展 35
2.2.7 参考资料 36
第3章 资源的生存期 37
3.1 永久分配 39
3.1.1 目的 39
3.1.2 别名 39
3.1.3 问题 40
3.1.4 解决方案 41
3.1.5 其他已知应用 46
3.1.6 变种和扩展 47
3.1.7 参考资料 47
3.2 延迟分配 47
3.2.1 目的 47
3.2.2 别名 47
3.2.3 问题 47
3.2.4 解决方案 49
3.2.5 其他已知应用 53
3.2.6 变种和扩展 54
3.2.7 参考资料 55
3.3 延迟释放 55
3.3.1 目的 55
3.3.2 别名 55
3.3.3 问题 55
3.3.4 解决方案 56
3.3.5 其他已知应用 64
3.3.6 变种和扩展 64
3.3.7 参考资料 65
第4章 事件驱动编程 67
4.1 事件混入 71
4.1.1 目的 71
4.1.2 别名 71
4.1.3 问题 71
4.1.4 解决方案 72
4.1.5 其他已知应用 78
4.1.6 变种和扩展 78
4.1.7 参考资料 79
4.2 请求完成 79
4.2.1 目的 79
4.2.2 别名 79
4.2.3 问题 79
4.2.4 解决方案 80
4.2.5 其他已知应用 86
4.2.6 变种和扩展 86
4.2.7 参考资料 86
4.3 发布和订阅 87
4.3.1 目的 87
4.3.2 别名 87
4.3.3 问题 87
4.3.4 解决方案 88
4.3.5 其他已知应用 97
4.3.6 变种和扩展 98
4.3.7 参考资料 98
第5章 协同式多任务 101
5.1 活动对象 102
5.1.1 目的 102
5.1.2 别名 102
5.1.3 问题 102
5.1.4 解决方案 103
5.1.5 其他已知应用 113
5.1.6 变种和扩展 113
5.1.7 参考资料 114
5.2 异步控制器 114
5.2.1 目的 114
5.2.2 别名 114
5.2.3 问题 114
5.2.4 解决方案 117
5.2.5 其他已知应用 126
5.2.6 变种和扩展 127
5.2.7 参考资料 127
第6章 提供服务 129
6.1 客户-线程服务 132
6.1.1 目的 132
6.1.2 别名 133
6.1.3 问题 133
6.1.4 解决方案 134
6.1.5 其他已知应用 139
6.1.6 变种和扩展 139
6.1.7 参考资料 140
6.2 客户端-服务器 141
6.2.1 目的 141
6.2.2 别名 141
6.2.3 问题 141
6.2.4 解决方案 143
6.2.5 其他已知应用 160
6.2.6 变种和扩展 161
6.2.7 参考资料 164
6.3 协调器 165
6.3.1 目的 165
6.3.2 别名 165
6.3.3 问题 165
6.3.4 解决方案 168
6.3.5 其他已知应用 181
6.3.6 变种和扩展 181
6.3.7 参考资料 182
第7章 安全 183
7.1 安全代理 188
7.1.1 目的 188
7.1.2 别名 188
7.1.3 问题 188
7.1.4 解决方案 189
7.1.5 其他已知应用 195
7.1.6 变种和扩展 195
7.1.7 参考资料 196
7.2 安全扣 197
7.2.1 目的 197
7.2.2 别名 197
7.2.3 问题 197
7.2.4 解决方案 198
7.2.5 其他已知应用 201
7.2.6 变种和扩展 202
7.2.7 参考资料 202
7.3 检疫隔离 202
7.3.1 目的 202
7.3.2 别名 202
7.3.3 问题 203
7.3.4 解决方案 204
7.3.5 其他已知应用 212
7.3.6 变种和扩展 212
7.3.7 参考资料 213
7.4 摇篮 213
7.4.1 目的 213
7.4.2 别名 213
7.4.3 问题 213
7.4.4 解决方案 214
7.4.5 其他已知应用 221
7.4.6 变种和扩展 221
7.4.7 参考资料 222
第8章 优化执行时间 223
8.1 片段 224
8.1.1 目的 224
8.1.2 别名 224
8.1.3 问题 224
8.1.4 解决方案 227
8.1.5 其他已知应用 238
8.1.6 变种和扩展 238
8.1.7 参考资料 240
8.2 数据压模 240
8.2.1 目的 240
8.2.2 别名 241
8.2.3 问题 241
8.2.4 解决方案 243
8.2.5 其他已知应用 257
8.2.6 变种和扩展 257
8.2.7 参考资料 257
第9章 将知名的模式映射到Symbian OS 259
9.1 模型-视图-控制器 259
9.1.1 目的 259
9.1.2 别名 260
9.1.3 问题 260
9.1.4 解决方案 261
9.1.5 其他已知应用 269
9.1.6 变种和扩展 269
9.1.7 参考资料 270
9.2 单例 270
9.2.1 目的 270
9.2.2 别名 270
9.2.3 问题 270
9.2.4 解决方案 275
9.2.5 其他已知应用 289
9.2.6 变种和扩展 289
9.2.7 参考资料 291
9.3 适配器 291
9.3.1 目的 291
9.3.2 别名 291
9.3.3 问题 291
9.3.4 解决方案 293
9.3.5 其他已知应用 300
9.3.6 变种和扩展 300
9.3.7 参考资料 301
9.4 句柄-正文 301
9.4.1 目的 301
9.4.2 别名 301
9.4.3 问题 301
9.4.4 解决方案 302
9.4.5 其他已知应用 308
9.4.6 变种和扩展 308
9.4.7 参考资料 309
附录A 对反复出现的结果的影响分析 311
参考文献 315
1.1 关于本书 1
1.2 目标读者 1
1.3 本书适用的Symbian OS版本 2
1.4 通用设计模式 2
1.5 Symbian OS模式 3
1.5.1 基于Symbian OS的软件约束 3
1.5.2 Symbian OS上下文中的重要约束 4
1.5.3 其他约束 6
1.5.4 已经就位的模式元素 7
1.6 设计模式的模板 7
1.6.1 模式名称 7
1.6.2 目的 7
1.6.3 别名 7
1.6.4 问题 8
1.6.5 解决方案 8
1.6.6 其他已知的应用 9
1.6.7 变种和扩展 9
1.6.8 参考资料 9
1.7 本书结构 9
1.8 其他信息来源 10
第2章 错误处理策略 11
2.1 快速失败 12
2.1.1 目的 12
2.1.2 别名 12
2.1.3 问题 12
2.1.4 解决方案 14
2.1.5 其他已知应用 22
2.1.6 变种和扩展 23
2.1.7 参考资料 23
2.2 逐步提升错误 23
2.2.1 目的 23
2.2.2 别名 23
2.2.3 问题 24
2.2.4 解决方案 26
2.2.5 其他已知应用 35
2.2.6 变种和扩展 35
2.2.7 参考资料 36
第3章 资源的生存期 37
3.1 永久分配 39
3.1.1 目的 39
3.1.2 别名 39
3.1.3 问题 40
3.1.4 解决方案 41
3.1.5 其他已知应用 46
3.1.6 变种和扩展 47
3.1.7 参考资料 47
3.2 延迟分配 47
3.2.1 目的 47
3.2.2 别名 47
3.2.3 问题 47
3.2.4 解决方案 49
3.2.5 其他已知应用 53
3.2.6 变种和扩展 54
3.2.7 参考资料 55
3.3 延迟释放 55
3.3.1 目的 55
3.3.2 别名 55
3.3.3 问题 55
3.3.4 解决方案 56
3.3.5 其他已知应用 64
3.3.6 变种和扩展 64
3.3.7 参考资料 65
第4章 事件驱动编程 67
4.1 事件混入 71
4.1.1 目的 71
4.1.2 别名 71
4.1.3 问题 71
4.1.4 解决方案 72
4.1.5 其他已知应用 78
4.1.6 变种和扩展 78
4.1.7 参考资料 79
4.2 请求完成 79
4.2.1 目的 79
4.2.2 别名 79
4.2.3 问题 79
4.2.4 解决方案 80
4.2.5 其他已知应用 86
4.2.6 变种和扩展 86
4.2.7 参考资料 86
4.3 发布和订阅 87
4.3.1 目的 87
4.3.2 别名 87
4.3.3 问题 87
4.3.4 解决方案 88
4.3.5 其他已知应用 97
4.3.6 变种和扩展 98
4.3.7 参考资料 98
第5章 协同式多任务 101
5.1 活动对象 102
5.1.1 目的 102
5.1.2 别名 102
5.1.3 问题 102
5.1.4 解决方案 103
5.1.5 其他已知应用 113
5.1.6 变种和扩展 113
5.1.7 参考资料 114
5.2 异步控制器 114
5.2.1 目的 114
5.2.2 别名 114
5.2.3 问题 114
5.2.4 解决方案 117
5.2.5 其他已知应用 126
5.2.6 变种和扩展 127
5.2.7 参考资料 127
第6章 提供服务 129
6.1 客户-线程服务 132
6.1.1 目的 132
6.1.2 别名 133
6.1.3 问题 133
6.1.4 解决方案 134
6.1.5 其他已知应用 139
6.1.6 变种和扩展 139
6.1.7 参考资料 140
6.2 客户端-服务器 141
6.2.1 目的 141
6.2.2 别名 141
6.2.3 问题 141
6.2.4 解决方案 143
6.2.5 其他已知应用 160
6.2.6 变种和扩展 161
6.2.7 参考资料 164
6.3 协调器 165
6.3.1 目的 165
6.3.2 别名 165
6.3.3 问题 165
6.3.4 解决方案 168
6.3.5 其他已知应用 181
6.3.6 变种和扩展 181
6.3.7 参考资料 182
第7章 安全 183
7.1 安全代理 188
7.1.1 目的 188
7.1.2 别名 188
7.1.3 问题 188
7.1.4 解决方案 189
7.1.5 其他已知应用 195
7.1.6 变种和扩展 195
7.1.7 参考资料 196
7.2 安全扣 197
7.2.1 目的 197
7.2.2 别名 197
7.2.3 问题 197
7.2.4 解决方案 198
7.2.5 其他已知应用 201
7.2.6 变种和扩展 202
7.2.7 参考资料 202
7.3 检疫隔离 202
7.3.1 目的 202
7.3.2 别名 202
7.3.3 问题 203
7.3.4 解决方案 204
7.3.5 其他已知应用 212
7.3.6 变种和扩展 212
7.3.7 参考资料 213
7.4 摇篮 213
7.4.1 目的 213
7.4.2 别名 213
7.4.3 问题 213
7.4.4 解决方案 214
7.4.5 其他已知应用 221
7.4.6 变种和扩展 221
7.4.7 参考资料 222
第8章 优化执行时间 223
8.1 片段 224
8.1.1 目的 224
8.1.2 别名 224
8.1.3 问题 224
8.1.4 解决方案 227
8.1.5 其他已知应用 238
8.1.6 变种和扩展 238
8.1.7 参考资料 240
8.2 数据压模 240
8.2.1 目的 240
8.2.2 别名 241
8.2.3 问题 241
8.2.4 解决方案 243
8.2.5 其他已知应用 257
8.2.6 变种和扩展 257
8.2.7 参考资料 257
第9章 将知名的模式映射到Symbian OS 259
9.1 模型-视图-控制器 259
9.1.1 目的 259
9.1.2 别名 260
9.1.3 问题 260
9.1.4 解决方案 261
9.1.5 其他已知应用 269
9.1.6 变种和扩展 269
9.1.7 参考资料 270
9.2 单例 270
9.2.1 目的 270
9.2.2 别名 270
9.2.3 问题 270
9.2.4 解决方案 275
9.2.5 其他已知应用 289
9.2.6 变种和扩展 289
9.2.7 参考资料 291
9.3 适配器 291
9.3.1 目的 291
9.3.2 别名 291
9.3.3 问题 291
9.3.4 解决方案 293
9.3.5 其他已知应用 300
9.3.6 变种和扩展 300
9.3.7 参考资料 301
9.4 句柄-正文 301
9.4.1 目的 301
9.4.2 别名 301
9.4.3 问题 301
9.4.4 解决方案 302
9.4.5 其他已知应用 308
9.4.6 变种和扩展 308
9.4.7 参考资料 309
附录A 对反复出现的结果的影响分析 311
参考文献 315
猜您喜欢