内容简介 
    如果您曾经问过自己“专家们如何设计移动设备软件?”那么手头的这本书就是为您准备的。本书汇集了Symbian 公司一些最杰出的软件工程师的智慧和经验,并将这些专家的知识提炼成一组通用的设计模式,在设计Symbian 智能手机软件时您可以合理地使用这些设计模式。 本书旨在帮助您解决在智能手机平台软件开发中经常遇到的各种难题。了解潜在问题,同时掌握用来解决这些问题的模式,您就能够在设计和实现健壮高效的Symbian OS 应用和服务程序方面具有抢先起步的优势。 本书涵盖的所有模式都针对Symbian OS进行了专门的适配。书中的11个完整示例详细说明了每种模式的工作原理,它们都采用SymbianC++语言实现,以便于您改写这些示例,将其用于自己编写的软件中。
序 本书将带领您深入了解世界上最成功的智能手机操作系统。在本书即将付印时,世界上已经有超过两亿部Symbian智能手机出厂——这是所有其他类型的智能手机销量总和的两倍。对于应用程序和插件程序而言,它是一个巨大的潜在市场。 Symbian OS是一个非常强大的环境,为其编写最高效的软件意味着要学习Symbian的C++方言,并要采用它使用的惯用语来思考问题。有谁能够比最初设计该操作系统的软件架构师更适合教授该知识呢?Adrian及其团队写出的本书将教您如何用Symbian OS的方式进行“思考”。虽然其他的书籍也可以教您学习这门语言的各种机制,例如,教您如何使用GUI、网络API以及应用程序基础结构,但是本书将更有助于您理解如何将复杂应用程序有机结合在一起,这要更加深入得多。 我曾经参与过的Symbian OS的工作包括:曾作为第一部Symbian OS手机的技术架构师,与人合著过一本关于受限内存软件的设计模式方面的书,此外,还曾经营Penrillian公司,这是一家专门向Symbian OS移植软件的公司。所有这些角色都使我强烈地感受到了手机软件开发与传统的桌面和服务器编程的巨大差异。Symbian OS有两项功能的表现非常出色:高效地使用电力,以及在处理错误时避免资源泄漏。向开发者讲授各种设计技术,以便让软件遵循这些特点,这已经成为我的主要任务,而这些设计模式使这一任务变得简单。 本书构建在Symbian Press出版社的其他书籍对Symbian OS的介绍之上。即使您已经很好地理解了如何使用异常退出与捕获、活动对象、GUI控件以及通信API,您仍需要知道如何高效地设计架构和组件接口,以便高效地使用这些机制。这正是本书的价值所在。本书描述了那些参与设计Symbian OS、它的应用程序以及基础结构的架构师们的思想,并用一些很小的篇幅告诉我们他们是如何做到的,从而让我们可以在他们的工作基础之上进行构建。虽然我是一名经验丰富的Symbian OS程序员,但我仍然从管理安全插件和进程协同模式的描述中学到了一些新知识。如果对Symbian OS开发没有多少经验,那么请您将重点放在进程间通信、资源管理和事件处理的讲解和惯用语上。 模式格式如何帮助您学习呢?有关模式的书籍需要在描述量和参考文本之间取得折中。可以将每个模式作为单独的论文来阅读,但是规范的模式格式也可以让浏览所有模式并弄清楚哪些模式涉及哪些方面变得更容易。因此,请不要认为这是一本需要从头读到尾的书(如果您喜欢也可以这样做)。相反,可以使用它设计好的方式来浏览每个模式的概要:名称、目的和描述,并随自己的喜好阅读您认为较为有趣或者已经大量使用的每个模式的内容。在从事Symbian OS项目和设计时,您将发现自己会遇到一些问题,它们会让您回忆起本书中的一个或多个解决方案——那时可以回过头来看看具体实现的细节。本书将化身成一位靠在您肩头的经验丰富的设计师,口中说道:“没错,看一看某某模式,找一找解决这个问题的办法,同时不要忘记考虑这些问题”。正是经验丰富的设计师成就了伟大的架构。 只要仔细阅读了本书,不管您从事的是什么职业,我敢打赌,您一定会找到您感兴趣的技术——或者某种技术的实现。而且您会发现(就像我一样),您能够学到很多有关如何最佳设计Symbian OS应用程序和服务的知识。我真心希望通过学习本书您能够成功地为世界上最流行的移动平台设计软件! Charles Weir Penrillian,2008