I’ve stumbled upon a nice checklist wrapping up API design guidelines. An extract:
- Favor placing API and implementation into separate packages
- Favor placing APIs into high-level packages and implementation into lower-level packages
- Consider breaking up large APIs into several packages
- Consider putting API and implementation packages into separate Java archives
- Avoid (minimize) internal dependencies on implementation classes in APIs
- Avoid unnecessary API fragmentation
- Do not place public implementation classes in the API package
- Do not create dependencies between callers and implementation classes
- Do not place unrelated APIs into the same package
- Do not place API and SPI into the same package
- Do not move or rename the package of an already released public API
See the full checklist here:
http://theamiableapi.com/2012/01/16/java-api-design-checklist/
Filed under: blogging, java Tagged: API, API design, java, packages
