Practical API Design Confessions of a Java Framework Architect - Tulach, Jaroslav; SpringerLink (Online service) (Berkeley, CA : Apress : Imprint: Apress, 2008)
Theory and Justification -- The Art of Building Modern Software -- The Motivation to Create an API -- Determining What Makes a Good API -- Ever-Changing Targets -- Practical Design -- Do Not Expose More Than You Want -- Code Against Interfaces, Not Implementations -- Use Modular Architecture -- Separate APIs for Clients and Providers -- Keep Testability in Mind -- Cooperating with other APIs -- Runtime Aspects of APIs -- Declarative Programming -- Daily Life -- Extreme Advice Considered Harmful -- Paradoxes of API Design -- Evolving the API Universe -- Teamwork -- Using Games to Improve API Design Skills -- Extensible Visitor Pattern Case Study -- End-of-Life Procedures -- Epilogue -- The Future.
Keywords: Java (Computer program language).; Software engineering; Java; Software Engineering/Programming and Operating Systems