面向模式的软件架构,卷3[试读]
第一章:绪论
设计傻瓜都会用的产品时,大家常犯的一种错误是低估彻头彻尾的傻瓜的智商。 ——Douglas Adams(1952—2001) 资源是一种实体,其供应有限,因此存在请求方和机制,其中请求方为资源用户,需要使用该实体来执行特定功能,而机制为资源提供方,应请求提供该实体。在软件系统中,资源可以是内存、同步原语、文件句柄、网络连接、安全令牌、数据库会话、本地服务和分布式服务等。资源可以是应用服务器组件[VSW02]等重量级对象,也可以是文件句柄等精致的轻量级对象。 有时候,要确定资源是什么是件极具挑战性的工作。例如,在编程环境中,图像(如JPEG或GIF文件)常被称为资源,但实际上并没有定... 查看全部[ 第一章:绪论 ]
1.1 资源管理概述
在软件系统中,资源管理指的是资源用户对资源可用性进行控制的过程。资源用户可以是任何获取、访问或释放资源的实体。资源管理涵盖下面几个方面:确保资源在需要时可用;确保资源的生命周期是确定的;确保资源及时得到释放,以免影响使用资源的系统的响应速度。 管理资源很难,要有效地管理资源更难。软件的非功能性需求(如性能、可扩展性、灵活性、稳定性、安全性和服务质量)常常严重依赖于有效的资源管理。这些非功能性需求是影响软件设计和实现方式的作用力(force) 。虽然开发系统时可分别考虑这些作用力,但需要在多个作用力之间找到平衡,这极具挑战性。要在这些作用力之间找到平衡,需要解决多个问题。例如,确保系统性能比确... 查看全部[ 1.1 资源管理概述 ]
1.2 资源管理的范畴
几乎在任何领域,资源管理都是一个重要方面,从嵌入式小型应用程序[NoWe00]到大型企业系统[Fowl02]甚至网格计算[BBL02],无不如此。任何系统都将受益于有效的资源管理,无论资源的类型和可用性如何。例如,小型嵌入式设备的应用程序通常资源有限,用于这种设备的应用程序必须妥善地管理资源,这显而易见。主要的制约因素包括CPU性能、可用内存量以及网络和总线的带宽。典型的嵌入式应用程序包括用于手机和手持设备的软件。 同样,大型企业系统运行电信交换软件和电子商务应用程序。在这样的系统中,应用程序的运行通常依赖于框架和服务器端组件系统。要确保可扩展性,离不开有效的资源管理,因为必须避免新增额外的... 查看全部[ 1.2 资源管理的范畴 ]
1.3 模式的用途
模式有助于获取解决问题的最佳实践,这种最佳实践适用于各个领域。模式已用于建筑结构[Alex79]、软件系统架构和教学[Peda04]等众多领域,本书探讨模式在软件架构领域的 应用。 软件架构模式可指出如何在特定情形下应用设计原则,以找到最佳解决方案。正如[POSA1]指出的,设计原则的应用是通过抽象、封装和模块化等众多使能技术实现的。使用模式有助于指出并记录超越类和实例层次的设计原则,以便重用成功的软件架构和设计。而通过重用成功的软件架构,可避免常见的软件设计错误和陷阱。要更深入地了解模式的定义和历史,请参阅[POSA1]和[POSA2]。 前面说过,无论设计和开发什么样的软件,都将受资... 查看全部[ 1.3 模式的用途 ]
1.4 资源管理模式
本章开头列出了多个作用力,它们对应典型软件系统的一组非功能性需求。鉴于这些作用力影响资源管理,解决它们对软件系统大有裨益。本书介绍一种资源管理模式语言,可消解这些作用力。在本书中,资源涵盖了本章前面定义的一切。虽然本书介绍的每种模式都自成一体,但这些模式一起构成了一种浑然一体的模式语言,有助于软件开发人员和设计人员应对一些资源管理方面的挑战。下面简要地介绍本书中的模式及其消解的作用力。 性能 Eager Acquisition(提前获取)模式有助于加快首次访问资源的速度,进而提高整个系统的响应速度。Caching(缓存)模式避免了重新获取频繁使用的资源带来的高昂开销,从而改善了性能。Pool... 查看全部[ 1.4 资源管理模式 ]
1.5 相关成果
软件架构模式不是孤立的,它们通过背景相互联系在一起。每个模式都有初始背景和终止背景,而一个模式的终止背景是另一个模式的初始背景,因此,描述模式时通常会引用其他几个模式。可以认为,这些被引用的模式与当前描述的模式紧密相关,它们一起用于解决特定问题。从另一个角度看,可将一系列模式归并为模式系统[POSA1],它描述了软件开发中的特定问题域。 一般而言,模式并非仅适用于一个行业(如电信行业)或领域(如嵌入式系统),而是适用于众多领域,这些领域具有相同的核心背景——模式的背景。 以Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides(四人组)编... 查看全部[ 1.5 相关成果 ]
1.6 模式描述模板
本书的所有模式都自成一体,并采用POSA1介绍的模板进行描述。通过使用这种模板,既能呈现模式的精髓,又能描述重要的细节。我们的目标是,无论读者只想对各个模式的基本理念有个总体认知,还是想深入了解模式如何协同工作,本书都能满足你的需求。 POSA模板的每部分都为后续部分打下了基础。“示例”部分为“背景”、“问题”和“解决方案”部分做了铺垫,这3部分总结了模式的精髓。“解决方案”部分为“结构”和“交互”部分做了铺垫,“结构”和“交互”部分更详细地介绍了模式的工作原理,为读者阅读“实现”部分做好准备。 “示例解答”、“变种”、“已知应用”、“效果”和“参见”部分让模式的描述更完整。我们给出了大量... 查看全部[ 1.6 模式描述模板 ]
书名: 面向模式的软件架构,卷3
作者: [德] Michael Kircher
出版社: 人民邮电出版社
原作名: Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management
副标题: 资源管理模式
译者: 袁国忠
出版年: 2013-6
页数: 180
定价: 49.00元
装帧: 平装
ISBN: 9787115313430