If you'll forgive the self promotion, I have written a book on API Design that was just published by Morgan Kaufmann in the past few weeks. It's focused on C++, although the first few chapters are generic in nature and offer general advice on what makes a good API and how to go about designing high-quality and long-lasting APIs. I attempt to illustrate all of the concepts with actual code examples (which you can download and play with yourself). I also cover the entire API development pipeline including design, styles, implementation, testing, documenting, versioning, extending, etc.
You can read more about the book to see if it looks interesting to you at: http://APIBook.com/