Outline
From APIDesign
(Difference between revisions)
(→Part 1: Theory and Justification) |
(→Part 2: Practical Design) |
||
Line 14: | Line 14: | ||
== Part 2: Practical Design == | == Part 2: Practical Design == | ||
- | * [[Do Not Expose More Than You Want]] | + | * Chapter 5: [[Do Not Expose More Than You Want]] |
- | * [[Code Against Interfaces, Not Implementations]] | + | * Chapter 6: [[Code Against Interfaces, Not Implementations]] |
- | * [[Use Modular Architecture]] | + | * Chapter 7: [[Use Modular Architecture]] |
- | * [[Separate APIs for Client APIs and Support APIs]] | + | * Chapter 8: [[Separate APIs for Client APIs and Support APIs]] |
- | * [[Keep Testability In Mind]] | + | * Chapter 9: [[Keep Testability In Mind]] |
- | * [[Cooperating with Other APIs]] | + | * Chapter 10: [[Cooperating with Other APIs]] |
- | * [[Runtime Aspects of APIs]] | + | * Chapter 11: [[Runtime Aspects of APIs]] |
- | * [[Declarative Programming]] | + | * Chapter 12: [[Declarative Programming]] |
== Part 3: Daily Life == | == Part 3: Daily Life == |
Revision as of 08:25, 27 June 2008
This is the content of the book.
Contents |
Prologue
Part 1: Theory and Justification
- Chapter 1: The Art of Building Modern Software
- Chapter 2: The Motivation to Create an API
- Chapter 3: Determining What Makes a Good API
- Chapter 4: Ever Changing Targets
Part 2: Practical Design
- Chapter 5: Do Not Expose More Than You Want
- Chapter 6: Code Against Interfaces, Not Implementations
- Chapter 7: Use Modular Architecture
- Chapter 8: Separate APIs for Client APIs and Support APIs
- Chapter 9: Keep Testability In Mind
- Chapter 10: Cooperating with Other APIs
- Chapter 11: Runtime Aspects of APIs
- Chapter 12: Declarative Programming
Part 3: Daily Life
- Extreme Advice Considered Harmful
- Paradoxes of API Design
- Evolving the API Universe
- Teamwork
- Using Games to Improve API Design Skills
- Case Study of Writing the Extensible Visitor Pattern
- End Of Life Procedures