第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