Pattern-Oriented Software Architecture, A System of Patterns (Wiley Software Patterns Series) ハードカバー – 1996/8/8
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems. Uniquely, the patterns that are presented in this book span several levels of abstraction, from high-level architectural patterns and medium-level design patterns to low-level idioms. The intention of, and motivation for, this book is to support both novices and experts in software development. Novices will gain from the experience inherent in pattern descriptions and experts will hopefully make use of, add to, extend and modify patterns to tailor them to their own needs. None of the pattern descriptions are cast in stone and, just as they are borne from experience, it is expected that further use will feed in and refine individual patterns and produce an evolving system of patterns. Visit our Web Page http://www.wiley.com/compbooks/
This practical tutorial/reference demonstrates how patterns can enable users to create large-scale applications and solve recurring design problems. Contains a catalog of 25 patterns, described in a standardized format, that readers can use or adapt to their own development projects.
This book is full of new patterns, and fortunately they are good ones: Command, Broker, Layers and worth the price of the book in itself Presentation-Abstraction-Controller.
PAC can be seen as a generalization and extension of Model/View/Controller. The Abstraction is the domain-specific part of the architecture, effectively the Model. The Presentation exposes the Model in some interesting way, either as a user-interface in which case it is a View, or as an API, in which case the Presentation becomes a new Abstraction used by the next level up. The Controller is left with the job of coordinating the Presentation and the Model. The key to the pattern is that PAC agents can be built up into layers with the Presentation API of each lower agent creating a higher abstraction for the next level. Thus PAC becomes MVC for all or your architecture, not just the UI.
The book goes into this at length and adds useful discussion of MVC. Highly recommended.
If you are new to patterns, I suggest that you first read this book and refer to "Design Patterns" when needed.
In "Pattern-Oriented Software Architecture", there are some chapters on pattern and software architecture concepts, but most of the book is dedicated to describing architectural and design patterns (there are a few pages on idioms). Some of the architectural patterns are well known: layers, pipes, filters, broker and microkernel.
The code is clear and written mainly in C++. The notations used are easy to understand (OMT notation is addopted for the object models and an adaptation of Message Sequence Charts to object interations).
The production (cover, paper, etc) is excellent.