What is included with this book?
Preface | p. xv |
Acknowledgments | p. xvi |
Introduction | p. 1 |
Tour Guide | p. 3 |
And Now... | p. 4 |
Patterns | p. 5 |
A Theory of Programming | p. 9 |
Values | p. 10 |
Communication | p. 10 |
Simplicity | p. 11 |
Flexibility | p. 12 |
Principles | p. 13 |
Local Consequences | p. 13 |
Minimize Repetition | p. 14 |
Logic and Data Together | p. 14 |
Symmetry | p. 15 |
Declarative Expression | p. 16 |
Rate of Change | p. 17 |
Conclusion | p. 18 |
Motivation | p. 19 |
Class | p. 21 |
Class | p. 22 |
Simple Superclass Name | p. 23 |
Qualified Subclass Name | p. 24 |
Abstract Interface | p. 24 |
Interface | p. 26 |
Abstract Class | p. 26 |
Versioned Interface | p. 27 |
Value Object | p. 28 |
Specialization | p. 31 |
Subclass | p. 32 |
Implementor | p. 34 |
Inner Class | p. 34 |
Instance-Specific Behavior | p. 36 |
Conditional | p. 36 |
Delegation | p. 38 |
Pluggable Selector | p. 40 |
Anonymous Inner Class | p. 41 |
Library Class | p. 41 |
Conclusion | p. 42 |
State | p. 43 |
State | p. 44 |
Access | p. 45 |
Direct Access | p. 46 |
Indirect Access | p. 47 |
Common State | p. 47 |
Variable State | p. 48 |
Extrinsic State | p. 50 |
Variable | p. 50 |
Local Variable | p. 51 |
Field | p. 52 |
Parameter | p. 53 |
Collecting Parameter | p. 55 |
Optional Parameter | p. 56 |
Var Args | p. 56 |
Parameter Object | p. 57 |
Constant | p. 58 |
Role-Suggesting Name | p. 58 |
Declared Type | p. 60 |
Initialization | p. 61 |
Eager Initialization | p. 61 |
Lazy Initialization | p. 62 |
Conclusion | p. 62 |
Behavior | p. 63 |
Control Flow | p. 64 |
Main Flow | p. 64 |
Message | p. 65 |
Choosing Message | p. 65 |
Double Dispatch | p. 66 |
Decomposing (Sequencing) Message | p. 67 |
Reversing Message | p. 67 |
Inviting Message | p. 68 |
Explaining Message | p. 69 |
Exceptional Flow | p. 70 |
Guard Clause | p. 70 |
Exception | p. 72 |
Checked Exceptions | p. 72 |
Exception Propagation | p. 73 |
Conclusion | p. 73 |
Methods | p. 75 |
Composed Method | p. 77 |
Intention-Revealing Name | p. 79 |
Method Visibility | p. 80 |
Method Object | p. 82 |
Overridden Method | p. 83 |
Overloaded Method | p. 83 |
Method Return Type | p. 84 |
Method Comment | p. 85 |
Helper Method | p. 85 |
Debug Print Method | p. 86 |
Conversion | p. 87 |
Conversion Method | p. 87 |
Conversion Constructor | p. 88 |
Creation | p. 88 |
Complete Constructor | p. 89 |
Factory Method | p. 90 |
Internal Factory | p. 91 |
Collection Accessor Method | p. 91 |
Boolean Setting Method | p. 93 |
Query Method | p. 93 |
Equality Method | p. 94 |
Getting Method | p. 95 |
Setting Method | p. 96 |
Safe Copy | p. 97 |
Conclusion | p. 98 |
Collections | p. 99 |
Metaphors | p. 100 |
Issues | p. 101 |
Interfaces | p. 103 |
Array | p. 103 |
Iterable | p. 104 |
Collection | p. 104 |
List | p. 104 |
Set | p. 105 |
SortedSet | p. 105 |
Map | p. 106 |
Implementations | p. 107 |
Collection | p. 108 |
List | p. 108 |
Set | p. 108 |
Map | p. 109 |
Collections | p. 110 |
Searching | p. 111 |
Sorting | p. 112 |
Unmodifiable Collections | p. 113 |
Single-Element Collections | p. 114 |
Empty Collections | p. 114 |
Extending Collections | p. 114 |
Conclusion | p. 115 |
Evolving Frameworks | p. 117 |
Changing Frameworks without Changing Applications | p. 117 |
Incompatible Upgrades | p. 118 |
Encouraging Compatible Change | p. 120 |
Library Class | p. 121 |
Objects | p. 121 |
Conclusion | p. 129 |
Performance Measurement | p. 131 |
Example | p. 131 |
API | p. 132 |
Implementation | p. 133 |
MethodTimer | p. 134 |
Canceling Overhead | p. 136 |
Tests | p. 136 |
Comparing Collections | p. 137 |
Comparing ArrayList and LinkedList | p. 139 |
Comparing Sets | p. 140 |
Comparing Maps | p. 141 |
Conclusion | p. 142 |
Bibliography | p. 145 |
General Programming | p. 145 |
Philosophy | p. 147 |
Java | p. 148 |
Index | p. 149 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.