Reading Notes for
Better Faster Lighter Java
Notes by P. Conrad for CISC474, University of Delaware, Spring 2006
Authors: Justin Gehtland and Bruce A. Tate. O'Reilly, 2004, ISBN: 0-596-00676-4
Who Should Read This Book?
Chapter 1: The Inevitable Bloat
1.1 Bloat Drivers
1.2 Options
1.3 Five Principles for Fighting the Bloat
1.4 Summary
Chapter 2: Keep It Simple
2.1 The Value of Simplicity
2.2 Process and Simplicity
2.3 Your Safety Net
2.4 Summary
Chapter 3: Do One Thing, and Do It Well
3.1 Understanding the Problem
3.2 Distilling the Problem
3.3 Layering Your Architecture
3.4 Refactoring to Reduce Coupling
3.5 Summary
Chapter 4: Strive for Transparency
4.1 Benefits of Transparency
4.2 Who's in Control?
4.3 Alternatives to Transparency
4.4 Reflection
4.5 Injecting Code
4.6 Generating Code
4.7 Advanced Topics
4.8 Summary
Chapter 5: You Are What You Eat
5.1 Golden Hammers
5.2 Understanding the Big Picture
5.3 Considering Technical Requirements
5.4 Summary
Chapter 6: Allow for Extension
6.1 The Basics of Extension
6.2 Tools for Extension
6.3 Plug-In Models
6.4 Who Is the Customer?
6.5 Summary
Chapter 7: Hibernate
7.1 The Lie
7.2 What Is Hibernate?
7.3 Using Your Persistent Model
7.4 Evaluating Hibernate
7.5 Summary
Chapter 8: Spring
8.1 What Is Spring?
8.2 Pet Store: A Counter-Example
8.3 The Domain Model
8.4 Adding Persistence
8.5 Presentation
8.6 Summary
Chapter 9: Simple Spider
9.1 What Is the Spider?
9.2 Examining the Requirements
9.3 Planning for Development
9.4 The Design
9.5 The Configuration Service
9.6 The Crawler/Indexer Service
9.7 The Search Service
9.8 The Console Interface
9.9 The Web Service Interface
9.10 Extending the Spider
Chapter 10: Extending jPetStore
10.1 A Brief Look at the Existing Search Feature
10.2 Replacing the Controller
10.3 The User Interface (JSP)
10.4 Setting Up the Indexer
10.5 Making Use of the Configuration Service
10.6 Adding Hibernate
Chapter 11: Where Do We Go from Here?
11.1 Technology
11.3 Challenges
11.4 Conclusion
Chapter 12: Bibliography
12.2 Referenced Internet Sources
12.3 Helpful Internet Sources
12.4 Other References