1.3 模式的用途

模式有助于获取解决问题的最佳实践,这种最佳实践适用于各个领域。模式已用于建筑结构[Alex79]、软件系统架构和教学[Peda04]等众多领域,本书探讨模式在软件架构领域的应用。

软件架构模式可指出如何在特定情形下应用设计原则,以找到最佳解决方案。正如[POSA1]指出的,设计原则的应用是通过抽象、封装和模块化等众多使能技术实现的。使用模式有助于指出并记录超越类和实例层次的设计原则,以便重用成功的软件架构和设计。而通过重用成功的软件架构,可避免常见的软件设计错误和陷阱。要更深入地了解模式的定义和历史,请参阅[POSA1]和[POSA2]。

前面说过,无论设计和开发什么样的软件,都将受资源管理的影响。在多层系统中,资源管理不仅对每层都很重要,对各层之间的交互也很重要,因此从整个系统的角度来看,妥善地管理资源至关重要。

在系统中管理资源时,必须要使用的设计方法在很大程度上取决于领域、系统约束和系统需求。模式是从特定领域提炼出来的,其背后的推动力是系统需求和系统约束,因此模式是对适用于给定系统的设计方法进行描述的最有效方式。模式的基本要素之一是其适用的背景(context),可使用它来指出特定资源管理策略适用的系统。

模式的另一个关键要素是要消解的一系列作用力;就资源管理而言,可使用该要素指出模式适用于系统的哪些部分。

目录