面向模式的软件体系结构:卷3
基本信息
- 原书名: Pattern-Oriented Software Architecture, Patterns for Resource Management,Volume 3
- 原出版社: John Wiley & Sons
- 作者: Michael Kircher, Prashant Jain [作译者介绍]
- 译者: 鲍志云
- 丛书名: 软件工程技术丛书
- 出版社:机械工业出版社
- ISBN:7111169832
- 上架时间:2005-10-11
- 出版日期:2005 年9月
- 开本:16开
- 页码:169
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 面向对象
教材 > 研究生/本科/专科教材 > 工学 > 计算机
编辑推荐
这本书是专讲资源管理模式的。这在模式类书籍中是较为少见的。而资源管理这个话题却又是如此地重要,特别是对于24 x 7运行的大型系统,资源管理的成败对系统的成败有极大的影响。值得严重期待!
内容简介回到顶部↑
在任何类型的软件中,有效管理资源都是至关重要的。从移动设备中的嵌入式软件,到大型企业服务器上的软件,有效地管理内存、线程、文件、网络连接之类的资源对于让系统可以正常且高效地工作都很重要。
我们经常在软件开发生命周期的后期才发现资源管理需求,而在这么晚的时候改变系统设计很困难。所以,在生命周期的早期执行这样的任务就很重要。因为属于不同领域的系统有不同的约束和需求,所以对某个特定系统或者配置很有效的方法对另一个系统就未必那么有效。
本书用模式来描述在系统中有效实现资源管理的方法。这些模式描述得很详细,使用了几个例子,并且和posa前两卷一样,给出了如何实现它们的指导。此外,这一卷还对资源管理做了透彻的介绍,并给出了两个案例研究,分别把这些模式应用于自组网络计算和移动射频网络。这些模式归于不同的资源管理领域,涉及了完整的资源生命周期:获取、管理和释放。
我们经常在软件开发生命周期的后期才发现资源管理需求,而在这么晚的时候改变系统设计很困难。所以,在生命周期的早期执行这样的任务就很重要。因为属于不同领域的系统有不同的约束和需求,所以对某个特定系统或者配置很有效的方法对另一个系统就未必那么有效。
本书用模式来描述在系统中有效实现资源管理的方法。这些模式描述得很详细,使用了几个例子,并且和posa前两卷一样,给出了如何实现它们的指导。此外,这一卷还对资源管理做了透彻的介绍,并给出了两个案例研究,分别把这些模式应用于自组网络计算和移动射频网络。这些模式归于不同的资源管理领域,涉及了完整的资源生命周期:获取、管理和释放。
作译者回到顶部↑
本书提供作译者介绍
Michael Kircher是德国慕尼黑的西门子公司技术部门的高级软件工程师,他的主要关注领域包括分布式对象计算、软件构架、模式、极限编程和创新环境中的知识员工管理。他曾作为顾问和开发者参加过很多项目,涉及了西门子的多个不同业务领域,为分布式系统开发软件,其中包括UMTS基站的软件、自动邮政系统、用于工业及电信系统的运营维持软件。
在学生时代,他是Douglas C.Schmidt领导的研究组的成员,在这个研究组中他参与TTAO(The ACE ORB,一种实时CORBA的实现)的开发。就是在那时,他发现了模式的.. << 查看详细
在学生时代,他是Douglas C.Schmidt领导的研究组的成员,在这个研究组中他参与TTAO(The ACE ORB,一种实时CORBA的实现)的开发。就是在那时,他发现了模式的.. << 查看详细
目录回到顶部↑
译者序
frank buschmann序
steve vinoski序
前言
作者简介
第1章 导引
1.1 资源管理概览
1.2 资源管理的范围
1.3 模式的使用
1.4 资源管理中的模式
1.5 相关工作
1.6 模式格式
第2章 资源获取
2.1 lookup模式
2.2 lazy acquisition模式
2.3 eager acquisition模式
2.4 partial acquisition模式
第3章 资源生命周期
3.1 caching模式
3.2 pooling模式
frank buschmann序
steve vinoski序
前言
作者简介
第1章 导引
1.1 资源管理概览
1.2 资源管理的范围
1.3 模式的使用
1.4 资源管理中的模式
1.5 相关工作
1.6 模式格式
第2章 资源获取
2.1 lookup模式
2.2 lazy acquisition模式
2.3 eager acquisition模式
2.4 partial acquisition模式
第3章 资源生命周期
3.1 caching模式
3.2 pooling模式
译者序回到顶部↑
这本书是专讲资源管理模式的。这在模式类书籍中是较为少见的。而资源管理这个话题却又是如此地重要,特别是对于24 x 7运行的大型系统,资源管理的成败对系统的成败有极大的影响。
很多读者可能知道,现在敏捷方法很流行,人们开始觉得很多设计都可以在后期通过重构的方式加入,而不需要一开始就严密地思考并决定。关于这些设计的模式,实在可以“妙手偶得之”,而不必一开始就有意识地去用。
但是,也有一些涉及系统全局的方面是很难通过重构的方式逐渐引入或者改变的(或者后期引入带来的变动太大,使得这样做显得不划算)。这些方面包括对国际化和本地化的支持、对多线程的支持、安全性、可移植性等等。这其中也包括了资源管理策略。
所以,在设计系统之前,有必要先对资源管理模式有个全盘的了解,这样在设计时才能有意识地运用最合适的资源管理方法。
在本书中,我个人最喜欢的是第7章的案例分析,该章描述了设计一个UTMS移动网络系统(包含基站、RNC、OMC)时遇到的挑战,以及如何从“模式弹药库”中找到合适的弹药来解决这些挑战。读来感觉淋漓尽致。这一章篇幅不长,但信息量很大,因为所有的细节都隐藏在模式名的背后。所以,为了读懂第7章,必须先读第2、3、4章。(事实上,这3章也可以当做资源模式管理词典,供你在工作中备查。)
其实,这本书还有模式地图的作用,因为书中不仅提到了资源管理模式,还以此为主干展开,广泛引用了模式社区的大量其他著作和模式。这也算是一个额外的好处吧。将单个模式融入更宏大的模式地图(或者说在“模式语言”的语境中)来讲述,这也是POSA系列的特色之一。
相信此译本可以带给读者愉快的阅读体验。若阅读过程中发现任何问题,可以发信到:wesley.bao@acm.org。
鲍志云
2005年7月
很多读者可能知道,现在敏捷方法很流行,人们开始觉得很多设计都可以在后期通过重构的方式加入,而不需要一开始就严密地思考并决定。关于这些设计的模式,实在可以“妙手偶得之”,而不必一开始就有意识地去用。
但是,也有一些涉及系统全局的方面是很难通过重构的方式逐渐引入或者改变的(或者后期引入带来的变动太大,使得这样做显得不划算)。这些方面包括对国际化和本地化的支持、对多线程的支持、安全性、可移植性等等。这其中也包括了资源管理策略。
所以,在设计系统之前,有必要先对资源管理模式有个全盘的了解,这样在设计时才能有意识地运用最合适的资源管理方法。
在本书中,我个人最喜欢的是第7章的案例分析,该章描述了设计一个UTMS移动网络系统(包含基站、RNC、OMC)时遇到的挑战,以及如何从“模式弹药库”中找到合适的弹药来解决这些挑战。读来感觉淋漓尽致。这一章篇幅不长,但信息量很大,因为所有的细节都隐藏在模式名的背后。所以,为了读懂第7章,必须先读第2、3、4章。(事实上,这3章也可以当做资源模式管理词典,供你在工作中备查。)
其实,这本书还有模式地图的作用,因为书中不仅提到了资源管理模式,还以此为主干展开,广泛引用了模式社区的大量其他著作和模式。这也算是一个额外的好处吧。将单个模式融入更宏大的模式地图(或者说在“模式语言”的语境中)来讲述,这也是POSA系列的特色之一。
相信此译本可以带给读者愉快的阅读体验。若阅读过程中发现任何问题,可以发信到:wesley.bao@acm.org。
鲍志云
2005年7月
前言回到顶部↑
这本书是关于软件系统中的资源管理模式的。这些模式为软件构架师和开发者们在试图为软件系统提供有效且高效的资源管理方法时常常遇到的问题提供了解决方案。高效地管理资源,对于任意类型的软件的执行都是至关重要的。从移动设备中的嵌入式软件,到大型企业服务器中的软件,有效地管理内存、线程、文件或者网络连接之类的资源对于让系统正常并且有效工作都很重要。
Pattern-Oriented Software Architecture(POSA)系列的第1卷[POSAl]广泛地引入了软件设计和构架中的通用模式。第2卷[POSA2]则专注于建立复杂的并发和网络软件系统与应用程序的基本模式。现在本卷则用模式来展现在系统中实现有效的资源管理所需的技术。
书中的模式详尽展开,并且会有一些例子。同POSA的前几卷一样,本书为读者提供了如何实现这些模式的指导。此外,本书还对资源管理作了透彻的介绍,并且包含了两个案例分析,在案例中这些模式应用在两个不同的领域。书中展示的模式独立于任何实现技术(比如.NET、Java或者C++),虽然例子是用Java和C++给出的。模式根据资源管理的不同领域来分类,因此涉及了资源的完整生命周期:资源获取、资源生命周期和资源释放。
本书中的模式广泛地覆盖了资源管理领域。我们在几年前开始基于自己创建很多不同软件系统的经验记录这些模式。大多数模式都曾经在主要的会议上展示过或者讨论过。但是,我们觉得还缺少这样的努力,把这些模式以模式语言的形式放到一起,并以可以把模式语言应用到多个领域的方式将其展示出来。
资源管理的范围很广。随着新技术的出现,系统设计者和开发者面对的资源管理的挑战也时刻在变化。我们预计,随着时间的推移,人们会发现并记录更多的资源管理模式。本书的“结语”那一章谈论了发展资源管理模式语言还需要进行怎样的努力。
读者群
本书是为所有的软件构架师、设计者和开发者而写的。他们可以用本书中描述的模式来解决通常每个软件系统都会遇到的资源管理的挑战。
本书对计算机科学专业的学生也很有用,因为它可以提供对资源管理的现有最佳实践的概览。
本书结构
本书分成两部分。第一部分提供了对资源管理的主题以及资源管理的模式的介绍。第一部分展示的模式分成三章:资源获取、资源生命周期、资源释放,这同典型的资源生命周期相对应。本书的第二部分把这些模式应用于两个案例。
本书的第一部分从问题领域的角度来看待资源管理,而第二部分则从应用程序领域的角度来看待资源管理。本书中的模式不是孤立的。事实上,在我们覆盖资源管理模式的整个过程中,我们大量引用了其他相关的值得注意的模式。对于每个这样的模式,我们都在“引用到的模式”一章中包含了摘要介绍。
本书包含了很多使用模式的例子。虽然模式用的都是单独的例子,但讲案例的每一章都是用一个特定领域的例子来把所有的模式联系起来。这样就起到了一个完整的例子的作用,把特定领域中的问题和单个模式的使用放到了一起,以解决所提出的问题。这种方法让我们可以证明模式的广泛可用性,同时还展示了它们如何联系到一起。
第1章“导引”正式引入了软件系统中资源管理的话题,并且定义了它的范围。这一章描述了为何有效地管理软件系统中的资源那么难。这一章还介绍了模式,并展示了如何用模式来应对资源管理的挑战。
第2章“资源获取”描述了解决对资源获取有影响的作用力的模式。资源在使用前必须先获取。但是,获取资源不应该降低系统性能,也不应该造成任何瓶颈。对于大型资源或者只有一部分可用的资源,资源获取策略的调整是至关重要的。
第3章“资源生命周期”描述了解决影响资源生命周期的作用力。资源可以有很不相同的生命周期。例如,有的资源会被频繁且密集地使用,还有些资源则只会被用到一次。当我们不再需要某一资源时,就可以释放它。但是,判断何时释放资源并不是那么简单。对资源生命周期的显式控制可能既令人厌烦又容易出错。为了解决这一问题,我们需要自动资源管理技术。此外,在某些特定的构架(比如分布式系统)中,可能多个资源必须共同工作以达成更大的共同目标。每个资源都有可能由自己的控制线程来管理,那么就需要协调多个资源的协作和整合。
第4章“资源释放”描述了处理资源的有效释放的模式。当资源不再被需要时,就需要返回给资源环境,以优化系统性能并让其他使用者可以获取资源。但是,如果被释放的资源需要被相同的资源使用者再次使用,那么就必须重新获取资源,这就会影响性能。这里的挑战是如何找到正确的平衡并决定何时释放资源。此外,对资源管理操作(比如释放资源)的显式调用很令人厌烦。如何尽量减少资源管理的开销,同时还确保高效率和高可伸缩性呢?
在第5章“资源管理准则”中,我们展示了进行资源管理的准则,这为在特定领域中高效地使用资源管理模式语言提供了指导。
第6章“案例分析——自组网络计算”展示了如何用我们描述的模式来创建自组网络应用程序并满足它的资源管理需求。
第7章“案例分析——移动网络”把所有的模式都整合进模式语言,并用这个模式语言来解决一个电信领域的案例的需求。
在第8章“模式的过去、现在和未来”中,Frank Buschmann审视过去在POSA前一卷中做出的对“模式将走向何方”的预言,并进一步分析模式现在走到了哪一步,然后预测模式的未来。
Pattern-Oriented Software Architecture(POSA)系列的第1卷[POSAl]广泛地引入了软件设计和构架中的通用模式。第2卷[POSA2]则专注于建立复杂的并发和网络软件系统与应用程序的基本模式。现在本卷则用模式来展现在系统中实现有效的资源管理所需的技术。
书中的模式详尽展开,并且会有一些例子。同POSA的前几卷一样,本书为读者提供了如何实现这些模式的指导。此外,本书还对资源管理作了透彻的介绍,并且包含了两个案例分析,在案例中这些模式应用在两个不同的领域。书中展示的模式独立于任何实现技术(比如.NET、Java或者C++),虽然例子是用Java和C++给出的。模式根据资源管理的不同领域来分类,因此涉及了资源的完整生命周期:资源获取、资源生命周期和资源释放。
本书中的模式广泛地覆盖了资源管理领域。我们在几年前开始基于自己创建很多不同软件系统的经验记录这些模式。大多数模式都曾经在主要的会议上展示过或者讨论过。但是,我们觉得还缺少这样的努力,把这些模式以模式语言的形式放到一起,并以可以把模式语言应用到多个领域的方式将其展示出来。
资源管理的范围很广。随着新技术的出现,系统设计者和开发者面对的资源管理的挑战也时刻在变化。我们预计,随着时间的推移,人们会发现并记录更多的资源管理模式。本书的“结语”那一章谈论了发展资源管理模式语言还需要进行怎样的努力。
读者群
本书是为所有的软件构架师、设计者和开发者而写的。他们可以用本书中描述的模式来解决通常每个软件系统都会遇到的资源管理的挑战。
本书对计算机科学专业的学生也很有用,因为它可以提供对资源管理的现有最佳实践的概览。
本书结构
本书分成两部分。第一部分提供了对资源管理的主题以及资源管理的模式的介绍。第一部分展示的模式分成三章:资源获取、资源生命周期、资源释放,这同典型的资源生命周期相对应。本书的第二部分把这些模式应用于两个案例。
本书的第一部分从问题领域的角度来看待资源管理,而第二部分则从应用程序领域的角度来看待资源管理。本书中的模式不是孤立的。事实上,在我们覆盖资源管理模式的整个过程中,我们大量引用了其他相关的值得注意的模式。对于每个这样的模式,我们都在“引用到的模式”一章中包含了摘要介绍。
本书包含了很多使用模式的例子。虽然模式用的都是单独的例子,但讲案例的每一章都是用一个特定领域的例子来把所有的模式联系起来。这样就起到了一个完整的例子的作用,把特定领域中的问题和单个模式的使用放到了一起,以解决所提出的问题。这种方法让我们可以证明模式的广泛可用性,同时还展示了它们如何联系到一起。
第1章“导引”正式引入了软件系统中资源管理的话题,并且定义了它的范围。这一章描述了为何有效地管理软件系统中的资源那么难。这一章还介绍了模式,并展示了如何用模式来应对资源管理的挑战。
第2章“资源获取”描述了解决对资源获取有影响的作用力的模式。资源在使用前必须先获取。但是,获取资源不应该降低系统性能,也不应该造成任何瓶颈。对于大型资源或者只有一部分可用的资源,资源获取策略的调整是至关重要的。
第3章“资源生命周期”描述了解决影响资源生命周期的作用力。资源可以有很不相同的生命周期。例如,有的资源会被频繁且密集地使用,还有些资源则只会被用到一次。当我们不再需要某一资源时,就可以释放它。但是,判断何时释放资源并不是那么简单。对资源生命周期的显式控制可能既令人厌烦又容易出错。为了解决这一问题,我们需要自动资源管理技术。此外,在某些特定的构架(比如分布式系统)中,可能多个资源必须共同工作以达成更大的共同目标。每个资源都有可能由自己的控制线程来管理,那么就需要协调多个资源的协作和整合。
第4章“资源释放”描述了处理资源的有效释放的模式。当资源不再被需要时,就需要返回给资源环境,以优化系统性能并让其他使用者可以获取资源。但是,如果被释放的资源需要被相同的资源使用者再次使用,那么就必须重新获取资源,这就会影响性能。这里的挑战是如何找到正确的平衡并决定何时释放资源。此外,对资源管理操作(比如释放资源)的显式调用很令人厌烦。如何尽量减少资源管理的开销,同时还确保高效率和高可伸缩性呢?
在第5章“资源管理准则”中,我们展示了进行资源管理的准则,这为在特定领域中高效地使用资源管理模式语言提供了指导。
第6章“案例分析——自组网络计算”展示了如何用我们描述的模式来创建自组网络应用程序并满足它的资源管理需求。
第7章“案例分析——移动网络”把所有的模式都整合进模式语言,并用这个模式语言来解决一个电信领域的案例的需求。
在第8章“模式的过去、现在和未来”中,Frank Buschmann审视过去在POSA前一卷中做出的对“模式将走向何方”的预言,并进一步分析模式现在走到了哪一步,然后预测模式的未来。







点击看大图




加载中...

