How to Design Great APIs and Why it Matters
A co-worker of mine sent me this presentation Joshua Bloch (Effective Java)… Joshua was a key API designer for Java at Sun and is now working at some small search engine company. It is so great to learn from your competitors and Josh really is a smart guy with clear, crisp ideas that resonate well in the .NET world.
How to Design a Good API & Why it Matters
A few takes aways for me:
- If the names are nasty, you likely have bad design
- Agility trumps completeness
- When in doubt leave it out
- Not to mention the numerous java framework examples he uses of what NOT to do. ;-)
BTW, you can of course find other great Framework design resources
MSDN Video Series on Designing .NET Class Libraries
BradA Design Guidelines Tag
Framework Design Guidelines : Conventions, Idioms, and Patterns for Reusable .NET Libraries