Pattern Oriented Software Architecture: On Patterns and Pattern Languages Volume 5
معرفی کتاب «Pattern Oriented Software Architecture: On Patterns and Pattern Languages Volume 5» نوشتهٔ Frank Buschmann, Kevlin Henney, Douglas C. Schmidt، منتشرشده توسط نشر John Wiley & Sons در سال 2007. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Pattern Oriented Software Architecture: On Patterns and Pattern Languages Volume 5» در دستهٔ بدون دستهبندی قرار دارد.
Software patterns have revolutionized the way developers think about how software is designed, built, and documented, and this unique book offers an in-depth look of what patterns are, what they are not, and how to use them successfully The only book to attempt to develop a comprehensive language that integrates patterns from key literature, it also serves as a reference manual for all pattern-oriented software architecture (POSA) patterns Addresses the question of what a pattern language is and compares various pattern paradigms Developers and programmers operating in an object-oriented environment will find this book to be an invaluable resource Pattern-Oriented Software Architecture Volume 5 - On Patterns and Pattern Languages......Page 1 Table of Contents......Page 8 Foreword......Page 14 About the Authors......Page 30 About this Book......Page 32 Structure and Content......Page 34 Acknowledgments......Page 36 Guide to the Reader......Page 38 A Short Story about Patterns......Page 39 All About Patterns from One Source......Page 40 0. Beyond the Hype......Page 42 0.1 Beginnings.........Page 43 0.2 A Story of Success... with Some Exceptions......Page 44 Under Observation......Page 45 In a State......Page 47 Beyond Prescription......Page 48 0.3 Pattern Definitions and their Interpretations......Page 49 0.4 Toward a Deeper Understanding of Patterns......Page 60 Part I - Inside Patterns......Page 66 1. A Solution to a Problem and More......Page 70 An Example......Page 71 Recurrence and Goodness......Page 72 1.2 A Process and a Thing......Page 73 An Example (Take 2)......Page 74 1.3 Best of Breed......Page 75 1.4 Forces: the Heart of Every Pattern......Page 77 An Example (Take 4)......Page 79 Dysfunctional, Bad, or Anti?......Page 81 1.5 The Context: Part of a Pattern or Not?......Page 83 An Example (Take 5)......Page 84 Context Generality......Page 85 Context Detached......Page 86 An Example (Take 6)......Page 87 1.6 Genericity......Page 88 An Example (Take 7)......Page 89 1.7 A Diagram Says More than a Thousand Words... or Less......Page 91 Diagrammability and Patterns......Page 92 1.8 Evocative Names Help Pattern Recollection......Page 95 A Grammatical Classification of Names......Page 96 Literal Versus Metaphorical Names......Page 97 1.9 Patterns are Works in Progress......Page 98 Sisyphus the Pattern Writer......Page 101 1.10 A Pattern Tells a Story and Initiates a Dialog......Page 102 1.11 A Pattern Celebrates Human Intelligence......Page 103 1.12 From a Problem–Solution Statement to a Pattern......Page 104 2. A Million Different Implementations......Page 106 2.1 Does One Size Fit All?......Page 107 Structural Variation and Roles......Page 108 Behavioral Variation......Page 110 Internal Variation......Page 111 Language and Platform Variation......Page 112 Domainand Environment-Dependent Variation......Page 114 Hypothesis Revisited......Page 116 2.2 Patterns and Frameworks......Page 118 A Tale of Two Frameworks......Page 121 2.3 Patterns and Formalisms......Page 125 Constrained Versus Unconstrained Genericity......Page 126 2.4 A Million and One... and then Some......Page 128 Of Reference Implementations and Example Implementations......Page 129 3. Notes on Pattern Form......Page 132 3.1 Style and Substance......Page 133 An Example Revisited......Page 134 Questions of Form......Page 137 3.3 Elements of Form......Page 138 Leading by Example......Page 143 Picture This......Page 145 ... ......Page 146 From Pyramid to Patlet......Page 147 Pattern Sketches......Page 148 Summary of Intent......Page 150 3.6 Different Pattern Forms......Page 151 Metamorphosis......Page 152 Choices, Choices......Page 155 3.7 Style and Substance (Redux)......Page 157 Part II - Between Patterns......Page 158 4. Pattern Islands?......Page 162 4.1 Patterns Connect......Page 163 4.2 A Design Experiment: Patterns as Islands......Page 164 4.3 A Second Design Experiment: Interwoven Patterns......Page 170 4.4 Pattern Density......Page 172 It All Comes Down to Roles and Relationships!......Page 174 5. Pattern Complements......Page 176 5.1 More than One Solution to a Problem......Page 177 Taking a Broader View......Page 178 Matters of State......Page 179 Pattern Pairs, Triples, and More......Page 184 Iterative Development......Page 186 Adaptive Development......Page 190 Following Conway’s Law......Page 192 Design Dialog with Style......Page 195 5.3 Patterns in Cooperation......Page 196 An Example of Value......Page 198 Design Completion......Page 199 5.4 Patterns in Combination......Page 200 Further Iterative Development......Page 201 Further Adaptive Development......Page 203 5.5 Complementary: Competing, Completing, Combining......Page 204 6. Pattern Compounds......Page 206 6.2 From Elements to Compounds......Page 207 Pluggable Factories......Page 208 Two Views of Composite Command......Page 209 Notes on Pattern Compound Form......Page 211 6.3 From Complements to Compounds......Page 214 Reiterate......Page 215 Adaptations......Page 216 6.4 Element or Compound?......Page 217 Composite Interpretations......Page 218 Inside Model-View-Controller......Page 219 Non-Design Pattern Compounds?......Page 221 Design Pattern Compounds......Page 222 7. Pattern Sequences......Page 224 7.1 Patterns Tell Software Engineering Success Stories......Page 225 7.2 Pattern Stories......Page 226 A Short Story......Page 227 Published Stories......Page 230 7.3 From Stories to Sequences......Page 232 7.4 Sequences of Patterns......Page 233 An Early Example......Page 234 A Pattern Sequence is Both a Process and a Thing......Page 235 A Short Story Revisited......Page 237 Recomposition......Page 238 Iterator Rebatched......Page 240 Reinterpretation......Page 241 Realigning Architecture and Organization......Page 243 Defining Context......Page 244 Specialization and Variation......Page 247 7.7 Pattern Connections......Page 248 Connections with Conviction......Page 249 8. Pattern Collections......Page 250 Collections, Catalogs, and Repositories......Page 251 8.2 Organizing Pattern Collections......Page 252 8.3 Ad Hoc Organization......Page 253 Clarifying ‘Design’ and ‘Architecture’......Page 254 Clarifying ‘Idiom’......Page 256 On the Level......Page 258 8.5 Organization by Domain......Page 259 8.6 Organization by Partition......Page 260 Architecture with Tiers......Page 261 8.7 Organization by Intent......Page 262 POSA by Intent......Page 263 GOF by Intent......Page 264 Reflection on Intent......Page 265 8.8 Organizing Pattern Collections (Reprise)......Page 266 8.9 Problem Frames......Page 267 Framing the Problem......Page 268 Contrasting Problem Frames and Patterns......Page 270 Combining Problem Frames and Patterns......Page 271 8.10 Pattern Semiotics......Page 272 Patterns and Pattern Descriptions as Signs......Page 273 8.11 Pattern Collections and Style......Page 276 Unix Interface Design Patterns......Page 277 Web 2.0 Design Patterns......Page 279 Style and Conceptual Integrity......Page 281 8.12 Toward Pattern Languages......Page 282 Part III - Into Pattern Languages......Page 284 9. Elements of Language......Page 288 9.1 Designing with Patterns......Page 289 9.2 From Pattern Stories and Sequences to Pattern Languages......Page 291 An Incomplete Story......Page 292 Combining Sequences......Page 296 10. A Network of Patterns and More......Page 300 10.2 A Process and a Thing......Page 301 The Iterative Nature of the Process......Page 302 Concrete and Domain-Specific Guidance......Page 308 10.3 Best of Breed......Page 310 Dysfunctional Pattern Languages Produce Poor Solutions......Page 313 10.4 Forces: the Heart of Every Pattern Language......Page 314 The Three Levels of Forces......Page 315 10.5 Pattern Contexts Define Topology and Architectural Style......Page 318 Language Specific versus General Context......Page 320 10.6 Patterns Form Vocabulary, Sequences Illustrate Grammar......Page 321 Many Different Pattern Sequences......Page 326 Societies of Patterns......Page 327 10.8 A Whole Language Says More than a Thousand Diagrams......Page 328 10.9 Domain-Oriented Names Help to Recall Pattern Languages......Page 329 10.10 A Pattern Language Initiates Dialog and Tells Many Stories......Page 331 10.11 Work in Progress......Page 332 10.12 Pattern Languages Reward Creative Human Intelligence......Page 334 10.13 From a Pattern Network to a Pattern Language......Page 336 11. A Billion Different Implementations......Page 338 System-Oriented and Evolutionary Design......Page 339 Piecemeal Growth and Agile Development......Page 342 11.3 Refactoring Not Excluded......Page 344 Clear Focus on the Problem at Hand......Page 347 Priority-Driven Design Decisions......Page 348 Pattern Integration Precedes Pattern Implementation......Page 349 Option 1: Identify and Keep Already Implemented Roles......Page 350 Option 2: Identify and Separate Already Implemented Roles......Page 352 Option 3: Assign Missing Roles to Existing Design Elements......Page 353 Option 4: Implement Missing Roles as New Design Elements......Page 355 11.6 Pattern Languages and Reference Architectures......Page 356 11.7 Pattern Languages and Product-Line Architectures......Page 358 11.8 A Billion and One... and then Some......Page 363 12. Notes on Pattern Language Form......Page 366 12.2 The Function of Form......Page 367 Questions of Form......Page 368 12.3 The Elements of Form......Page 369 Presenting the Big Picture......Page 370 Brevity and Detail......Page 371 Pattern Connections......Page 373 Reviewing the Elements......Page 374 Pattern Language Forms......Page 375 Aerial View......Page 376 Sequence of Disclosure......Page 381 Leading by Example......Page 382 Managing the Level of Detail......Page 384 12.5 Style and Substance (Redux)......Page 387 13. On Patterns versus Pattern Languages......Page 388 Common Core Properties......Page 389 Common Roots......Page 390 Pattern Languages of One Pattern?......Page 391 Patterns and Detail......Page 392 Pattern Languages and Interconnection......Page 393 Two Separate Worlds?......Page 394 13.3 Patterns versus Pattern Languages?......Page 395 14. From Patterns To People......Page 396 14.1 Patterns are for People......Page 397 Pattern Value System......Page 398 The Human Audience......Page 399 Human-Driven Development......Page 401 User Interfaces......Page 403 User Requirements......Page 404 In the Hands of the User......Page 405 Collaborative Writing......Page 406 Writers’ Workshops......Page 407 14.5 Technology for Humans......Page 408 15. The Past, Presence, and Future of Patterns......Page 410 Patterns and Pattern Languages......Page 411 Refactoring and Integration......Page 414 15.2 Where Patterns Are Now......Page 416 15.3 Where Will Patterns Go Tomorrow?......Page 417 Patterns and Pattern Languages......Page 418 Theory and Concepts......Page 421 Support for Other Software Development Approaches......Page 422 Influence From Other Disciplines......Page 424 15.4 A Brief Note about the Future of Patterns......Page 425 16. All Good Things.........Page 426 Pattern Concept Summary......Page 432 Referenced Patterns......Page 438 References......Page 456 Index of Patterns......Page 482 Index of Names......Page 486 Index......Page 488 POSA 3 uses patterns to present techniques for implementing effective resource management in a system. The patterns are covered in detail, making use of several examples, and, as in previous POSA volumes, directions are given on how to implement them. Additionally, the volume presents a thorough introduction to resource management, and two case studies where the patterns are applied to the domains of ad hoc networking and mobile radio networks. The patterns are grouped by different areas of resource management and address the complete lifecycle of resources: acquisition, management and release.
دانلود کتاب Pattern Oriented Software Architecture: On Patterns and Pattern Languages Volume 5