Outline
From APIDesign
(Difference between revisions)
(→Part 3) |
(→Part 2: Practical Design) |
||
(7 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | + | == The [[Outline]] of [[TheAPIBook]] == | |
- | == Prologue == | + | === Prologue === |
* [[Yet Another Design Book?]] | * [[Yet Another Design Book?]] | ||
- | == Part 1: [[Theory and Justification]] == | + | === Part 1: [[Theory and Justification]] === |
- | * [[The Art of Building Modern Software]] | + | * Chapter 1: [[The Art of Building Modern Software]] |
- | * [[The Motivation to Create an API]] | + | * Chapter 2: [[The Motivation to Create an API]] |
- | * [[Determining What Makes a Good API]] | + | * Chapter 3: [[Determining What Makes a Good API]] |
- | * | + | * Chapter 4: [[Ever Changing Targets]] |
- | + | ||
- | == 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 | + | * Chapter 8: [[Separate APIs for Clients and Providers]] |
- | * [[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 === |
- | * [[Extreme Advice Considered Harmful]] | + | * Chapter 13: [[Extreme Advice Considered Harmful]] |
- | * [[Paradoxes of API Design]] | + | * Chapter 14: [[Paradoxes of API Design]] |
- | * [[Evolving the API Universe]] | + | * Chapter 15: [[Evolving the API Universe]] |
- | * [[Teamwork]] | + | * Chapter 16: [[Teamwork]] |
- | * [[Using Games to Improve API Design Skills]] | + | * Chapter 17: [[Using Games to Improve API Design Skills]] |
- | * [[Case Study of Writing the Extensible Visitor Pattern]] | + | * Chapter 18: [[Case Study of Writing the Extensible Visitor Pattern|Extensible Visitor Pattern Case Study]] |
- | * [[End Of Life Procedures]] | + | * Chapter 19: [[End Of Life Procedures]] |
- | == Epilogue == | + | === Epilogue === |
* [[The Future]] | * [[The Future]] |
Current revision
Contents |
The Outline of TheAPIBook
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 Clients and Providers
- 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
- Chapter 13: Extreme Advice Considered Harmful
- Chapter 14: Paradoxes of API Design
- Chapter 15: Evolving the API Universe
- Chapter 16: Teamwork
- Chapter 17: Using Games to Improve API Design Skills
- Chapter 18: Extensible Visitor Pattern Case Study
- Chapter 19: End Of Life Procedures