Implementation Patterns
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-41309-3 (ISBN)
-Martin Fowler, chief scientist, ThoughtWorks "Code should be worth reading, not just by the compiler, but by humans. Kent Beck distilled his experience into a cohesive collection of implementation patterns. These nuggets of advice will make your code truly worth reading." -Gregor Hohpe, author of Enterprise Integration Patterns "In this book Kent Beck shows how writing clear and readable code follows from the application of simple principles. Implementation Patterns will help developers write intention revealing code that is both easy to understand and flexible towards future extensions. A must read for developers who are serious about their code." -Sven Gorts "Implementation Patterns bridges the gap between design and coding. Beck introduces a new way of thinking about programming by basing his discussion on values and principles." -Diomidis Spinellis, author of Code Reading and Code Quality Software Expert Kent Beck Presents a Catalog of Patterns Infinitely Useful for Everyday Programming Great code doesn't just function: it clearly and consistently communicates your intentions, allowing other programmers to understand your code, rely on it, and modify it with confidence.
But great code doesn't just happen. It is the outcome of hundreds of small but critical decisions programmers make every single day. Now, legendary software innovator Kent Beck-known worldwide for creating Extreme Programming and pioneering software patterns and test-driven development-focuses on these critical decisions, unearthing powerful "implementation patterns" for writing programs that are simpler, clearer, better organized, and more cost effective. Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You'll find proven solutions for handling everything from naming variables to checking exceptions.
This book covers * The value of communicating through code and the philosophy behind patterns * How and when to create classes, and how classes encode logic * Best practices for storing and retrieving state * Behavior: patterns for representing logic, including alternative paths * Writing, naming, and decomposing methods * Choosing and using collections * Implementation pattern variations for use in building frameworks Implementation Patterns will help programmers at all experience levels, especially those who have benefited from software patterns or agile methods. It will also be an indispensable resource for development teams seeking to work together more efficiently and build more maintainable software. No other programming book will touch your day-to-day work more often.
Kent Beck, one of the software industry's most creative and acclaimed leaders, consistently challenges software engineering dogma and promotes ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles, including Test-Driven Development (2003) and, with Cynthia Andres, Extreme Programming Explained, Second Edition (2005).
Preface xv
Chapter 1: Introduction 1
Tour Guide 3
And Now... 4
Chapter 2: Patterns 5
Chapter 3: A Theory of Programming 9
Values 10
Principles 13
Conclusion 18
Chapter 4: Motivation 19
Chapter 5: Class 21
Class 22
Simple Superclass Name 23
Qualified Subclass Name 24
Abstract Interface 24
Interface 26
Abstract Class 26
Versioned Interface 27
Value Object 28
Specialization 31
Subclass 32
Implementor 34
Inner Class 34
Instance-Specific Behavior 36
Conditional 36
Delegation 38
Pluggable Selector 40
Anonymous Inner Class 41
Library Class 41
Conclusion 42
Chapter 6: State 43
State 44
Access 45
Direct Access 46
Indirect Access 47
Common State 47
Variable State 48
Extrinsic State 50
Variable 50
Local Variable 51
Field 52
Parameter 53
Collecting Parameter 55
Optional Parameter 56
Var Args 56
Parameter Object 57
Constant 58
Role-Suggesting Name 58
Declared Type 60
Initialization 61
Eager Initialization 61
Lazy Initialization 62
Conclusion 62
Chapter 7: Behavior 63
Control Flow 64
Main Flow 64
Message 65
Choosing Message 65
Double Dispatch 66
Decomposing (Sequencing) Message 67
Reversing Message 67
Inviting Message 68
Explaining Message 69
Exceptional Flow 70
Guard Clause 70
Exception 72
Checked Exceptions 72
Exception Propagation 73
Conclusion 73
Chapter 8: Methods 75
Composed Method 77
Intention-Revealing Name 79
Method Visibility 80
Method Object 82
Overridden Method 83
Overloaded Method 83
Method Return Type 84
Method Comment 85
Helper Method 85
Debug Print Method 86
Conversion 87
Conversion Method 87
Conversion Constructor 88
Creation 88
Complete Constructor 89
Factory Method 90
Internal Factory 91
Collection Accessor Method 91
Boolean Setting Method 93
Query Method 93
Equality Method 94
Getting Method 95
Setting Method 96
Safe Copy 97
Conclusion 98
Chapter 9: Collections 99
Metaphors 100
Issues 101
Interfaces 103
Implementations 107
Collections 110
Extending Collections 114
Conclusion 115
Chapter 10: Evolving Frameworks 117
Changing Frameworks without Changing Applications 117
Incompatible Upgrades 118
Encouraging Compatible Change 120
Conclusion 129
Appendix A: Performance Measurement 131
Example 131
API 132
Implementation 133
MethodTimer 134
Canceling Overhead 136
Tests 136
Conclusion 142
Bibliography 145
General Programming 145
Philosophy 147
Java 148
Index 149
Kent Beck’s Buch Implementation Patterns könnte vielleicht sogar viel besser
Stefan EdlichBeautiful Code
heißen, wie das Oram / Wilson Werk. Es ist sogar irgendwie vielmehr auch eine Referenz, wie guter Code aussehen kann. Die Kapitel sind Patterns (2), A Theory of Programming (3), Motivation (4), Class (5), State(6), Behavior (7), Methods (8), Collections (8), Evolving Frameworks (9), Performance Measurement (Appendix). Und so ist das Buch viel mehr als eine Auflistung von Patterns, die von den GoF Patterns relativ disjunkt sind. Man fragt sich, was Kent Beck über Klassen, Methoden oder sogar Variablen noch schreiben kann?! Doch seine Erfahrungen sind einerseits fast philosophischer Natur und regen extrem gut an, über den eigenen Code zu reflektieren. Auf der anderen Seite ist das Buch wieder extrem praktisch und mit vielen guten Java Beispielen gespickt. Kapitel wie die drei letzten über Collections, Frameworks oder Performance sind sowieso selten zu finden und (wenn auch kurz gehalten) ihr Geld wert. Wenige Themen (wie der Pluggable-Selector) kommt einem aus vorhergehenden Büchern bekannt vor. Dennoch: wer seinen Code liebt, kommt um dieses Buch nicht herum.
Erscheint lt. Verlag | 1.11.2007 |
---|---|
Reihe/Serie | The Addison-Wesley Signature Series |
Zusatzinfo | Illustrations (some col.) |
Verlagsort | New Jersey |
Sprache | englisch |
Maße | 178 x 233 mm |
Gewicht | 348 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
ISBN-10 | 0-321-41309-1 / 0321413091 |
ISBN-13 | 978-0-321-41309-3 / 9780321413093 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich