Preface xix
Part I: One Pattern to Rule Them All 1
Chapter 1: Model View Controller 2
Chapter 2: MVC Analyzed and Applied 17
Part II : Fundamental Patterns 28
Chapter 3: Two-Stage Creation 29
Chapter 4: Template Method 43
Chapter 5: Dynamic Creation 53
Chapter 6: Category 63
Chapter 7: Anonymous Type and Heterogeneous Containers 77
Chapter 8: Enumerators 85
Chapter 9: Perform Selector and Delayed Perform 99
Chapter 10: Accessors 107
Chapter 11: Archiving and Unarchiving 123
Chapter 12: Copying 135
Part III: Patterns That Primarily Empower by Decoupling 147
Chapter 13: Singleton 148
Chapter 14: Notifications 159
Chapter 15: Delegates 175
Chapter 16: Hierarchies 191
Chapter 17: Outlets, Targets, and Actions 206
Chapter 18: Responder Chain 220
Chapter 19: Associative Storage 232
Chapter 20: Invocations 242
Chapter 21: Prototype 255
Chapter 22: Flyweight 263
Chapter 23: Decorators 268
Part IV: Patterns That Primarily Hide Complexity 274
Chapter 24: Bundles 275
Chapter 25: Class Clusters 282
Chapter 26: Façade 302
Chapter 27: Proxies and Forwarding 312
Chapter 28: Managers 328
Chapter 29: Controllers 337
Part V : Practical Tools for Pattern Application 364
Chapter 30: Core Data Models 365
Chapter 31: Application Kit Views 379
Chapter 32: Bindings and Controllers 393
Appendix: Resources 404
Index 407