The Artima Developer Community
Sponsored Link

Interface Design
Best Practices in Object-Oriented API Design in Java
by Bill Venners


This book is now called API Design.

Interface Design is a book-in-progress. To read online versions of the book, which I'll be posting as I write it, visit the Table of Contents.

Object Design is a companion book that contains patterns and idioms for designing Java objects.

Most Recent Update: Friday, 11/9/2001 - Renamed the Interface Design project to API Design. I have spent probably 2 solid months this year getting a build system going for book writing, including buying and learning to use FrameMaker, plus developing many tools in Java and Python to help me process code and generate nice web pages for the book projects. I'm leaving the older stuff in this area for a while, until the new one (which comes out of FrameMaker) catches up and passes the old one.

Monday, 3/1/2001 - Updated several guidelines. The first four guidelines are reasonably sketched out now.

Monday, 11/13/2000 - Spent several hours on a flight to Hong Kong revising the the text of the first guideline:

This guideline is at about 1500 words right now. I had originally planned to limit each guideline to 1000 words, but that's just too constraining, so now my goal is 1500 words.

Friday, 11/3/2000 - Updated quite a few figures and code examples both in Interface Design and in the handouts of the Object Design Workshop. Updated some text here and there, and rearranged the table of contents a bit. I also decided to stick with the title Interface Design, so I moved the whole work-in-progress from the preciseobject directory to this interfacedesign directory.

Saturday, 10/28/2000 - Made the first stab at:

Tuesday, 10/17/2000 - Revised the code example I'll use for the second guideline, and made a very rough first pass at the text:

Monday, 10/16/2000 - Completed first draft of first guideline:

Wednesday, 10/11/2000 - Changed the subtitle to Best Practices in Object-Oriented API Design in Java.

Tuesday, 10/3/2000 - Changed the title yet again. The title has gone from Better Java, to Flexible Java, to Precise Object, and now to Interface Design. If this new title sticks, I'll probably move these pages to a different directory.

Wednesday, 9/13/2000 - Added pages for more guidelines, using primarily handout material from my Object Design Workshop. See the Table of Contents. Here are the ones I added this time:

Tuesday, 9/12/2000 - Added pages for more guidelines, using primarily handout material from my Object Design Workshop. See the Table of Contents. Here are the ones I added:

Friday, 9/8/2000 - Added pages for more guidelines, using primarily handout material from my Object Design Workshop. I'm trying to get the material from the seminar up first, then I'll start fleshing out the text. See the Table of Contents.

Thursday, 9/7/2000 - Updated the table of contents. Dropped examples and a few guidelines, added in a few guidelines, mostly dealing with those patterns I think are important for API designers to be familiar with. See the Table of Contents. Also started adding pages for the guidelines in Chapter 1:

Sunday, 8/20/2000 - Updated Chapter 4 and The Canonical Object.

Saturday, 8/19/2000 - Massaged the Table of Contents a bit, and even put some text down in the pages for Chapter 1 and Chapter 2. I haven't yet updated all the chapter pages to match the latest table of contents.

Friday, 8/18/2000 - Gave the Table of Contents a major overhaul.

Wednesday, 4/19/2000 - Added links to lecture handouts from my Java Design Workshop that are basically outlines of the material that will appear in the chapters Designing Objects and Designing with Composition, Inheritance, and Interfaces.

Thursday, 1/20/2000 - Moved the book to preciseobject directory and cleaned things up. Finally getting ready to embark on this project in earnest.

Four other ways to work with this material:

Sponsored Links

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use