关于本书

本书介绍软件系统中的资源管理模式。在试图给软件系统提供高效而有力的资源管理方式时,软件架构师和开发人员会遇到一些常见的问题,模式给出了这些问题的解决方案。在所有软件的执行过程中,高效地管理资源都至关重要。从移动设备中的嵌入式软件到大型企业服务器中的软件,为让系统正确而卓有成效地运行,高效地管理内存、线程、文件和网络连接等资源都很重要。

面向模式的软件架构(Pattern-Oriented Software Architecture,POSA)系列丛书第1卷[POSA1]介绍了各种通用的软件设计和架构模式,范围很广。第2卷[POSA2]缩小了范围,重点介绍开发复杂的并发和联网软件系统和应用程序时涉及的基本模式。这一卷将从模式的角度出发,阐述在系统中高效地管理资源的技巧。

本书详尽地阐述了资源管理模式,并通过几个示例演示了如何将其付诸应用。与POSA前两卷一样,本书向读者指明了模式的实现方式。同时,详细地介绍了资源管理,并通过两个案例研究,演示了如何将资源管理模式应用于两个不同的领域。虽然本书在介绍模式时,提供的示例是使用Java和C++编写的,但这些模式不依赖于任何实现技术,如.NET、Java或C++。本书根据资源管理的不同方面对这些模式进行了分组,它们涵盖了资源的整个生命周期:资源获取、资源生命周期和资源释放。

本书介绍的模式涵盖了资源管理领域的很多方面。几年前我们凭借打造众多不同的软件系统获得的经验,开始记录这些模式。这些模式大多都在重要的模式会议上发表过或研讨过,但我们认为,需要将这些模式组织成一种模式语言,并使其适用于多个不同的领域。

资源管理的范畴很广。系统设计师和开发人员面临的挑战是,随着新技术的出现,需要管理的资源在不断变化。我们预期,随着时间的推移,还会有人发现并记录新的资源管理模式。为完善资源管理的模式语言,还需做哪些工作呢?本书第9章对此做了探讨。

目录