Growing Results Growing Results USA United Kingdom Canada Australia
Custom Search

[.ca] Pattern-Oriented Software Architecture, A System of Patterns (ISBN 0471958697)



From Amazon.com:
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


Adds Engineering to CS:
I recommend this book for students like me who are taking intermediate computer science courses for the the following reasons. It's a readable book for students who are new to the concept of applying patterns to software design. Many of the patterns in the book can be used for school projects. Furthermore, the book exposes the reader to a new way of thinking during the design of large programs. School projects are often short and programmed individually. This book deals with real world situations where programming projects are large and complex and done in teams. It emphasizes design and takes into account non-functional programming issues such as changeability, exchangeability, and extendibility. These issues are barely covered in school. This book will force the student to look at programming and design from a differenct perspective. It will make you into a better programmer. Also, you can read it all in about a week.


4.5 Stars: Thorough, Deep and READABLE:
There is a basic problem with the pattern literature. It is usually as easy to read as a cookbook. This book can actually and worthwhile be read from cover to cover. Big achievement! I learned quite a bit from it and found it very well spent time reading it. The authors try to be very systematic. They try to do everything as good as they can. They are of a high quality. They even use extensive peer review at the patterns conference. Still the different sections are of a very diverse quality both in depth and breadth. Sometimes difficult concepts are just dropped on the reader, while fairly trivial stuff is explained over some pages. Anyhow this book is an excellent complementary book to the GoF (Gamma et al.) one.


This book rocks!:
This book is ten times better than GoF or Fowler's book. I would love to see another volume in this series covering Web Services and Integration patterns, maybe written by Ambler, Naggapan, and Cooper would be excellent. Check out Eric Newcomer's book on Web Services as a great companion.


Decent software patterns book:
POSA1 is written far better than other related texts, such as GoF. (And be aware of the fact that GoF only contains design level patterns - it does not contain system architecture level patterns.) At the same time, after its nth reprinting and redesigned book cover, the text still contains non-UML diagrams (although there are some UML-like sequence diagrams included), and very few real code examples. The lack of code examples, though, can in some ways be seen as a positive aspect of the text. Compare this text with Applied Java Patterns, for example. AJP has very extensive code examples, but because the code examples for each pattern run for pages (rather than simply providing code snippets), the reader may be inclined to narrow their view of how the pattern is applied. For example, MVC is definitely not a pattern limited to GUI user interfaces! The point on which I think that POSA1 seems to come out ahead is that the stronger-than-ususal pattern descriptions and applicability, with a small amount of code provided where deemed especially relevant to the point being attempted to make, helps one understand the patterns better rather than memorizing language-specific implementations of patterns. This point is why I think the text was chosen to accompany Software Architecture in Practice for the graduate software engineering course in software architecture I just took.


Clear and wide-ranging:
This is an unusual book in the pattern genre. It presents a number of patterns, categorized by archtiectural level. That's just the first part of the book, though. The third of the book is about the process of using, relating, collecting, and distributing patterns. Only chapter 2 really addresses patterns for the strategic, architectural level of a software system. It does a very adequate job, using a variety of notations, examples, and analysis steps. This book is from 1996, so time has changed our view of some patterns. "Reflection," for example, has become pervasive in applications based on plugins and software components. It is also a fundamental API in the major langauges (Java and C#) released since this book was published - perhaps reflection should be downgraded to an "idiom". That's just nitpicking, though, since reflection is even more important now than when the book was written. For contrast, the authors present additional design patterns (including some from Gamma's book) for use at tactical design levels. They also discuss idioms patterns that typically involve just a few lines of code within on function. The contrast between the three different levels of implementation and design gives a useful discussion. The authors also present a weak chapter on "systems" or "langauges" of patterns The discussion is OK as far as it goes. The weakness is in what it omits. After reading this brief chapter, the programmer has very little practical information about choosing patterns from some library for some task. The poor programmer has no information at all about how to link patterns together, and that's a real stumbling block for beginning pattern users. The final section of the book is really sociology. It's about the pattern community, what that community is for, and how to be a working member. I find the discussion un-helpful, but I expect opinions to differ. Even today, this is a good second book (after Gamma's 'Design Patterns') on patterns and pattern usage. It lack the depth and precision of Gamma's book, and tends to add words without adding meaning. On the positive side, it's broader than Gamma's, and addresses a wider range of implementation levels.


Author:Frank Buschmann
Author:Regine Meunier
Author:Hans Rohnert
Author:Peter Sommerlad
Author:Michael Stal
Binding:Hardcover
Dewey Decimal Number:005.12
EAN:9780471958697
Edition:1
ISBN:0471958697
Number Of Pages:476
Publication Date:1996-08-08



Compare prices:
See also:
SITE SEARCH
 


SUBSCRIBE RSS Feed
Add to My Yahoo!
Add to Google
Add to MSN
Add to Newsgator
Add to Bloglines

Copyright © 1999-2009 Data Growth Pty Ltd. All rights reserved.
Privacy Policy | Terms of Use |