Pattern-Oriented Software Architecture, A System of Patterns
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Pattern-Oriented Software Architecture, A System of Patterns
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal
About This Book
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/
Frequently asked questions
Information
Chapter 1
Patterns
ā¦Somewhere in the deeply remote past it seriously traumatized a small random group of atoms drifting through the empty sterility of space and made them cling together in the most extraordinarily unlikely patterns. These patterns quickly learnt to copy themselves (this was part of what was so extraordinary about the patterns) and went on to cause massive trouble on every planet they drifted on to. That was how life began in the Universe ā¦Douglas Adams, The Hitchhikerās Guide to the Galaxy
1.1 What is a Pattern?
Example
- He wants to sit down and be comfortable.
- He is drawn toward the light.
Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.As an element in the world, each pattern is a relationship between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain spatial configuration which allows these forces to resolve themselves.As an element of language, a pattern is an instruction, which shows how this spatial configuration can be used, over and over again, to resolve the given system of forces, wherever the context makes it relevant.The pattern is, in short, at the same time a thing, which happens in the world, and the rule which tells us how to create that thing, and when we must create it. It is both a process and a thing; both a description of a thing which is alive, and a description of the process which will generate that thing.
Example
- Changes to the user interface should be easy, and possible at run-time.
- Adapting or porting the user interface should not impact code in the functional core of the application.
- The model component encapsulates core data and functionality. The model is independent of specific output representations or input behavior.
- View components display information to the user. A view obtains the data it displays from the model. There can be multiple views of the model.
- Each view has an associated controller component. Controllers receive input, usually as events that denote mouse movement, activation of mouse buttons or keyboard input. Events are translated to service requests, which are sent either to the model or to the view. The user interacts with the system solely via controllers.