Table of Contents For
Interface Design
Best Practices in Object-Oriented API Design in Java
by Bill Venners
Advertisement
|
Interface Design |
Contents |
Previous |
Next
Contents
Preface
Acknowledgments
Introduction
Chapter 1. The Object
Chapter 2. Classes, Inheritance, and Composition
Chapter 3. interface
s and Abstract Classes
Chapter 4. Design Patterns
- Guideline 19: Understand the role of intent in design patterns.
- Guideline 20: Use Decorators to avoid hierarchy explosion.
- Guideline 21: Use Proxies to control access to objects.
- Guideline 22: Use Iterators to provide access to the elements of a collection.
- Guideline 23: Use Chain of Responsibility to delegate along a linked list of objects.
- Guideline 24: Use Strategies to pass algorithms to objects.
- Guideline 25: Use Commands to pass requests to objects.
- Guideline 26: Use Event Generators for asynchronous notification.
- Guideline 27: Use the Composite Pattern to treat objects and collections uniformly.
- Guideline 28: Use Factories to delegate the production of objects.
- Guideline 29: Use Template Methods to delegate to subclasses.
Chapter 5. The Semantic Contract
Chapter 6. Constructors and Methods
Chapter 7. Exceptions
Chapter 8. Thread Safety
- Guideline: Appreciate the significance of thread safety.
- Guideline: Understand the Java monitor.
- Guideline: Consider thread-safety when designing any concrete class.
- Guideline: Provide a friendly way to ask an object to stop its threads.
Chapter 9. Network-Mobile Objects
- Guideline: Appreciate the significance of network-mobile objects.
- Guideline: Use
RemoteException
to indicate network interaction may be involved.
- Guideline: Make it easy for implementations to use RMI.
- Guideline: Use lazy starting in network-mobile objects.
- Guideline: Provide a public finalizer in addition to cleanup methods.
Chapter 10. Packages and Evolution
Index
About the Author
I welcome all comments about this work-in-progress. Please e-mail
your comments to bv@artima.com,
or sound off in the Flexible Java
Forum.