Implementation patterns

Author(s)

Bibliographic Information

Implementation patterns

Kent Beck

(The Addison-Wesley signature series, A Kent Beck signature book)

Addison-Wesley, c2008

  • : pbk

Available at  / 5 libraries

Search this Book/Journal

Note

Includes bibliographical references (p. 145-148) and indexes

Description and Table of Contents

Description

"Kent is a master at creating code that communicates well, is easy to understand, and is a pleasure to read. Every chapter of this book contains excellent explanations and insights into the smaller but important decisions we continuously have to make when creating quality code and classes." -Erich Gamma, IBM Distinguished Engineer "Many teams have a master developer who makes a rapid stream of good decisions all day long. Their code is easy to understand, quick to modify, and feels safe and comfortable to work with. If you ask how they thought to write something the way they did, they always have a good reason. This book will help you become the master developer on your team. The breadth and depth of topics will engage veteran programmers, who will pick up new tricks and improve on old habits, while the clarity makes it accessible to even novice developers." -Russ Rufer, Silicon Valley Patterns Group "Many people don't realize how readable code can be and how valuable that readability is. Kent has taught me so much, I'm glad this book gives everyone the chance to learn from him." -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.

Table of Contents

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

by "Nielsen BookData"

Related Books: 1-1 of 1

Details

Page Top