You can have it all. You just can't have it all at once.
This book is structured so that you can read it in various ways. The most straightforward way is to read it from cover-to-cover. If you know where you want to go, however, you can choose your own route through the book. In this case, the following hints can help you decide which topics to focus on and the order in which to read them.
This book presents a distributed computing pattern language, which is a family of interrelated patterns that define a process for systematically resolving problems that arise when developing software for distributed systems. We designed the book to help you use these patterns in your daily software development activities, to create working, sustainable software architectures for distributed systems. It is not a comprehensive tutorial about patterns and pattern languages in general, however, since we assume that you are familiar with both concepts.
If this book is your initial exposure to patterns, we suggest you first read the introduction to patterns in A System of Patterns [POSA1] and Design Patterns [GoF95]. Both books explore the fundamental concepts and terminology related to patterns for software architectures and designs. If you are familiar with patterns, but not with pattern languages, we recommend you read Chapter 1, On Patterns and Pattern Languages, and the white paper on Software Patterns by James O. Coplien ...