Pattern Oriented Software Architecture - OnPatterns and Pattern Languages V 5
Buy Rights Online Buy Rights

Rights Contact Login For More Details

  • Wiley

More About This Title Pattern Oriented Software Architecture - OnPatterns and Pattern Languages V 5

English

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 successfullyThe 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) patternsAddresses the question of what a pattern language is and compares various pattern paradigmsDevelopers and programmers operating in an object-oriented environment will find this book to be an invaluable resource

English

Frank Buschmann, Siemens AG, Germany

Kevlin Henney, Curbralan, Bristol, UK

Douglas C. Schmidt, Vanderbilt University

English

Foreword by Richard P. Gabriel xiii

Foreword by Wayne Cool xxiii

About the Authors xxix

About this Book xxxi

Guide to the Reader xxxvii

0 Beyond the Hype1

0.1 Beginnings 2

0.2 A Story of Success… with Some Exceptions 3

0.3 Pattern Definitions and their Interpretations 8

0.4 Toward a Deeper Understanding of Patterns 19

Part I Inside Patterns 25

1 A Solution to a Problem and More 29

1.1 A Solution to a Problem 30

1.2 A Process and a Thing 32

1.3 Best of Breed 34 . . . .

1.4 Forces: the Heart of Every Pattern 36

1.5 The Context: Part of a Pattern or Not? 42

1.6 Genericity 47

1.7 A Diagram Says More than a Thousand Words…or Less 50

1.8 Evocative Names Help Pattern Recollection 54

1.9 Patterns are Works in Progress 57

1.10 A Pattern Tells a Story and Initiates a Dialog 61

1.11 A Pattern Celebrates Human Intelligence 62

1.12 From a Problem–Solution Statement to a Pattern 63

2 A Million Different Implementations 65

2.1 Does One Size Fit All? 66

2.2 Patterns and Frameworks 77

2.3 Patterns and Formalisms 84

2.4 A Million and One… and then Some 87

3 Notes on Pattern Form 91

3.1 Style and Substance 92

3.2 The Function of Form 96

3.3 Elements of Form 97

3.4 Details, Details 102

3.5 Aerial View 106

3.6 Different Pattern Forms 110

3.7 Style and Substance (Redux) 116

Part II Between Patterns 117

4 Pattern Islands? 121

4.1 Patterns Connect 122

4.2 A Design Experiment: Patterns as Islands 123

4.3 A Second Design Experiment: Interwoven Patterns 129

4.4 Pattern Density 131

5 Pattern Complements 135

5.1 More than One Solution to a Problem 136

5.2 Patterns in Competition 138

5.3 Patterns in Cooperation 155

5.4 Patterns in Combination 159

5.5 Complementary: Competing, Completing, Combining 163

6 Pattern Compounds 165

6.1 Recurring Pattern Arrangements 166

6.2 From Elements to Compounds 166

6.3 From Complements to Compounds 173

6.4 Element or Compound? 176

6.5 Compound Analysis and Synthesis 180

7 Pattern Sequences 183

7.1 Patterns Tell Software Engineering Success Stories 184

7.2 Pattern Stories 185

7.3 From Stories to Sequences 191

7.4 Sequences of Patterns 192

7.5 Pattern Compounds and Complements Revisited 197

7.6 Returning to the Question of Context 203

7.7 Pattern Connections 207

8 Pattern Collections 209

8.1 Toward a Handbook 210

8.2 Organizing Pattern Collections 211

8.3 Ad Hoc Organization 212

8.4 Organization by Level 213

8.5 Organization by Domain 218

8.6 Organization by Partition 219

8.7 Organization by Intent 221

8.8 Organizing Pattern Collections (Reprise) 225

8.9 Problem Frames 226

8.10 Pattern Semiotics 231

8.11 Pattern Collections and Style 235

8.12 Toward Pattern Languages 241

Part III Into Pattern Languages 243

9 Elements of Language 247

9.1 Designing with Patterns 248

9.2 From Pattern Stories and Sequences to Pattern Languages 250

10 A Network of Patterns and More 259

10.1 A Network of Patterns 260

10.2 A Process and a Thing 260

10.3 Best of Breed 269

10.4 Forces: the Heart of Every Pattern Language 273

10.5 Pattern Contexts Define Topology and Architectural Style 277

10.6 Patterns Form Vocabulary, Sequences Illustrate Grammar 280

10.7 Genericity 285

10.8 A Whole Language Says More than a Thousand Diagrams 287

10.9 Domain-Oriented Names Help to Recall Pattern Languages 288

10.10 A Pattern Language Initiates Dialog and Tells Many Stories 290

10.11 Work in Progress 291

10.12 Pattern Languages Reward Creative Human Intelligence 293

10.13 From a Pattern Network to a Pattern Language 295

11 A Billion Different Implementations 297

11.1 One Size Does Not Fit All 298

11.2 Piecemeal Growth 298

11.3 Refactoring Not Excluded 303

11.4 One Pattern at a Time 306

11.5 Role-Based Pattern Integration 309

11.6 Pattern Languages and Reference Architectures 315

11.7 Pattern Languages and Product-Line Architectures 317

11.8 A Billion and One… and then Some 322

12 Notes on Pattern Language Form 325

12.1 Style and Substance 326

12.2 The Function of Form 326

12.3 The Elements of Form 328

12.4 Details, Details, Details 334

12.5 Style and Substance (Redux) 346

13 On Patterns versus Pattern Languages 347

13.1 Patterns and Pattern Languages: Similarities 348

13.2 Patterns and Pattern Languages: Differences 351

13.3 Patterns versus Pattern Languages? 354

14 From Patterns To People 355

14.1 Patterns are for People 356

14.2 In Support of Software Developers 360

14.3 In Support of Software Users 362

14.4 In Support of Pattern Authors 365

14.5 Technology for Humans 367

15 The Past, Presence, and Future of Patterns 369

15.1 The Past Three Years at a Glance 370

15.2 Where Patterns Are Now 375

15.3 Where Will Patterns Go Tomorrow? 376

15.4 A Brief Note about the Future of Patterns 384

16 All Good Things 385

Pattern Concept Summary 391

Referenced Patterns 397

References 415

Index of Patterns 441

Index of Names 445

Index 447

loading