Table of Contents
Introduction 1
Part I: Introducing Software Architecture and Patterns 7
Chapter 1: Software Architecture Basics 9
Chapter 2: Where Do Architectures Come From? 25
Chapter 3: What Do Software Architectures Look Like? 37
Chapter 4: Software Pattern Basics 55
Chapter 5: Seeing How Patterns Are Made and Used 73
Part II: Putting Patterns to Work 83
Chapter 6: Making Sense of Patterns 85
Chapter 7: Building Your Own Pattern Catalog 95
Chapter 8: Choosing a Pattern 103
Part III: Creating Your Application Architecture 115
Chapter 9: Building Functionality in Layers 117
Chapter 10: Piping Your Data through Filters 137
Chapter 11: Sharing Knowledge and Results on a Blackboard 151
Chapter 12: Coordinating Communication through a Broker 171
Chapter 13: Structuring Your Interactive Application with Model-View-Controller 189
Chapter 14: Layering Interactive Agents with Presentation-Abstraction-Control 209
Chapter 15: Putting Key Functions in a Microkernel 229
Chapter 16: Refl ecting and Adapting 245
Part IV: Designing with Other POSA Patterns 263
Chapter 17: Decomposing the System’s Structure 265
Chapter 18: Making a Component the Master 271
Chapter 19: Controlling Access 277
Chapter 20: Managing the System 285
Chapter 21: Enhancing Interprocess Communication 295
Chapter 22: Counting the Number of References 309 Part V: The Part of Tens 319 Chapter 23: Ten Patterns You Should Know 321 Chapter 24 Ten Places to Look for Patterns 327 Chapter 25: Ten Ways to Get Involved with the Pattern Community 333 Index 339