| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
Chapter 1: Introduction 1
Tour Guide 3
And Now 4
Chapter 2: Patterns 5
Chapter 3: A Theory of Programming 9
Values 10
Communication 10
Simplicity 11
Flexibility 12
Principles 13
Local Consequences 13
Minimize Repetition 14
Logic and Data Together 14
Symmetry 15
Declarative Expression 16
Rate of Change 17
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
Array 103
Iterable 104
Collection 104
List 104
Set 105
SortedSet 105
Map 106
Implementations 107
Collection 108
List 108
Set 108
Map 109
Collections 110
Searching 111
Sorting 112
Unmodifiable Collections 113
Single-Element Collections 114
Empty Collections 114
Extending Collections 114
Conclusion 115
Chapter 10: Evolving Frameworks 117
Changing Frameworks without Changing Applications117
Incompatible Upgrades 118
Encouraging Compatible Change 120
Library Class 121
Objects 121
Conclusion 129
Appendix A: Performance Measurement 131
Example 131
API 132
Implementation 133
MethodTimer 134
Canceling Overhead 136
Tests 136
Comparing Collections 137
Comparing ArrayList and LinkedList 139
Comparing Sets 140
Comparing Maps 141
Conclusion 142
Bibliography 145
General Programming 145
Philosophy 147
Java 148
Index 149