Interface Design Best Practices in Object-Oriented API Design in Java is a free online Java book. The guidelines put forth in this book will primarily help you achieve program flexibility. When I talk about object design, building class hierarchies, interfaces, polymorphism, choosing composition vs. inheritance, and so on, my main focus will be to give insights that will help you make your programs easier to understand and easier to change.
Book Description
This book is about design above the level of coding style. Where to put that open curly, where to put a space, and so on, especially indentation, can make code readable. But I’m not going to talk about that very much, other than some talk of naming. Maybe I will have a section of quick coding guidelines.
If you are writing massive processing applications on mainframes or supercomputers, you need every once of performance you can get simply because of the almost unimaginable size of the computation. Nevertheless, you too could benefit from this book because even if you know you need to sacrifice flexibility, this book can help you understand what flexibility is and why it is important.
Table of Contents
- The Object
- Classes, Inheritance, and Composition
- interfaces and Abstract Classes
- Design Patterns
- The Semantic Contract
- Constructors and Methods
- Exceptions
- Thread Safety
- Network-Mobile Objects
- Packages and Evolution