Pattern-Oriented Software Architecture Volume 1: A System of Patterns

Pattern-Oriented Software Architecture Volume 1: A System of Patterns
复制标题

DOI:
--
复制
发表时间:
1996-08
期刊:
--
影响因子:
--
通讯作者:
F. Buschmann;R. Meunier;H. Rohnert;Peter Sommerlad;M. Stal
F. Buschmann;R. Meunier;H. Rohnert;Peter Sommerlad;M. Stal
中科院分区:
其他
文献类型:
--
作者:
F. Buschmann;R. Meunier;H. Rohnert;Peter Sommerlad;M. Stal

文献摘要

被引文献

相似文献

面向模式的软件体系结构:模式系统着眼于模式如何在三个不同的层次上发生-在软件体系结构中,在日常设计中,以及在习惯用法中(描述如何在C++等编程语言中实现特定的设计模式)。这种综合方法有时有点理论性,但作者也提出了十几种模式,并尽可能提供真实世界的例子。对于体系结构模式,作者研究了Layers模式,该模式用于操作系统(如Windows NT和虚拟机)。他们还考虑了处理数据流的管道和过滤器。(This作者指出,模式是Unix的关键。)他们的黑板模式展示了一个复杂的问题,如图像或语音识别,如何被分解为更小的、专门的子系统,这些子系统一起工作来解决问题。(For从原始波形输入中识别单词,Blackboard方法可能具有单独的过程来查找音素,然后是单词,然后是句子。这本书还着眼于今天的分布式系统,考虑代理模式,这是在互联网上使用,并在微软的OLE技术。本节还介绍了几种用于构建有效的图形用户界面的强大模式,例如模型-视图-控制器。作者定义了几个著名的设计模式,如代理和命令模式,以及基本的,影响深远的模式,如Whole-Part和Master-Slave,这些模式在整个计算过程中被广泛使用。他们的调查以讨论对象可以通信的方式结束(使用转发器-接收器,客户端-分发器-服务器和发布者-订阅者等模式),许多开发人员将其视为熟悉的模式,但在这里被编纂为“官方”模式。本书随后讨论了C++中的一些习惯用法,以及模式在软件设计和体系结构中更深远的作用。通过将模式融入传统的软件工程实践,面向模式的软件体系结构的作者成功地论证了模式的作用只会继续多样化和丰富明天的软件工程工具和方法。--理查德·德拉甘
Pattern-Oriented Software Architecture: A System of Patterns looks at how patterns occur on three different levels--in software architecture, in everyday design, and in idioms (which describe how a particular design pattern is implemented in a programming language like C++). This synthetic approach is a little theoretical at times, but the authors also present over a dozen patterns and provide real-world examples wherever possible. For architectural patterns, the authors look at the Layers pattern, used in operating systems such as Windows NT and virtual machines. They also consider Pipes and Filters, which process streams of data. (This pattern, the authors point out, is a lynchpin of Unix.) Their Blackboard pattern shows how a complex problem, such as image or speech recognition can be broken up into smaller, specialized subsystems that work together to solve a problem. (For recognizing words from a raw waveform input, a Blackboard approach might have separate processes to find phonemes, then words, then sentences.) This book also looks at today's distributed systems in considering the Broker pattern, which is used on the Internet and in Microsoft's OLE technology. This section also presents several powerful patterns for building effective graphical user interfaces, such as Model-View-Controller. The authors define several well-known design patterns, such as the Proxy and Command patterns, and also basic, far-reaching patterns, such as Whole-Part and Master-Slave, which are widely used throughout computing. Their survey ends with a discussion on the way objects can communicate (using such patterns as Forwarder-Receiver, Client-Dispatcher-Server, and Publisher-Subscriber), which many developers will recognize as familiar patterns, but are codified here as "official" patterns. The book then discusses some idioms in C++ and a more far-reaching role for patterns in software design and architecture. By fitting patterns into traditional software engineering practices, the authors of Pattern-Oriented Software Architecture successfully argue that the role for patterns will only continue to diversify and enrich tomorrow's software engineering tools and methodologies. --Richard Dragan