My Account Log in

1 option

API design patterns / J. J. Geewax ; foreword by Jon Skeet.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Geewax, J. J., author.
Contributor:
Skeet, Jon, writer of foreword.
Language:
English
Subjects (All):
Application program interfaces (Computer software).
Application software--Development.
Application software.
Web services.
Physical Description:
1 online resource (xxxiv, 443 pages) : illustrations
Edition:
[First edition].
Place of Publication:
Shelter Island, NY : Manning, [2021]
Summary:
API Design Patterns lays out a set of design principles for building internal and public-facing APIs. Google API expert JJ Geewax presents patterns that ensure your APIs are consistent, scalable, and flexible. You'll improve the design of the most common APIs, plus discover techniques for tricky edge cases. Precise illustrations, relevant examples, and detailed scenarios make every pattern clear and easy to understand.
Contents:
Intro
inside front cover
API Design Patterns
Copyright
dedication
contents
front matter
foreword
preface
acknowledgments
about this book
Who should read this book
How this book is organized: A roadmap
About the code
Live book discussion forum
Other online resources
about the author
about the cover illustration
Part 1 Introduction
1 Introduction to APIs
1.1 What are web APIs?
1.2 Why do APIs matter?
1.3 What are resource-oriented APIs?
1.4 What makes an API "good"?
1.4.1 Operational
1.4.2 Expressive
1.4.3 Simple
1.4.4 Predictable
Summary
2 Introduction to API design patterns
2.1 What are API design patterns?
2.2 Why are API design patterns important?
2.3 Anatomy of an API design pattern
2.3.1 Name and synopsis
2.3.2 Motivation
2.3.3 Overview
2.3.4 Implementation
2.3.5 Trade-offs
2.4 Case study: Twapi, a Twitter-like API
2.4.1 Overview
2.4.2 Listing messages
2.4.3 Exporting data
Part 2 Design principles
3 Naming
3.1 Why do names matter?
3.2 What makes a name "good"?
3.2.1 Expressive
3.2.2 Simple
3.2.3 Predictable
3.3 Language, grammar, and syntax
3.3.1 Language
3.3.2 Grammar
3.3.3 Syntax
3.4 Context
3.5 Data types and units
3.6 Case study: What happens when you choose bad names?
3.7 Exercises
4 Resource scope and hierarchy
4.1 What is resource layout?
4.1.1 Types of relationships
4.1.2 Entity relationship diagrams
4.2 Choosing the right relationship
4.2.1 Do you need a relationship at all?
4.2.2 References or in-line data
4.2.3 Hierarchy
4.3 Anti-patterns
4.3.1 Resources for everything
4.3.2 Deep hierarchies
4.3.3 In-line everything
4.4 Exercises
5 Data types and defaults
5.1 Introduction to data types
5.1.1 Missing vs. null
5.2 Booleans
5.3 Numbers
5.3.1 Bounds
5.3.2 Default values
5.3.3 Serialization
5.4 Strings
5.4.1 Bounds
5.4.2 Default values
5.4.3 Serialization
5.5 Enumerations
5.6 Lists
5.6.1 Atomicity
5.6.2 Bounds
5.6.3 Default values
5.7 Maps
5.7.1 Bounds
5.7.2 Default values
5.8 Exercises
Part 3 Fundamentals
6 Resource identification
6.1 What is an identifier?
6.2 What makes a good identifier?
6.2.1 Easy to use
6.2.2 Unique
6.2.3 Permanent
6.2.4 Fast and easy to generate
6.2.5 Unpredictable
6.2.6 Readable, shareable, and verifiable
6.2.7 Informationally dense
6.3 What does a good identifier look like?
6.3.1 Data type
6.3.2 Character set
6.3.3 Identifier format
6.3.4 Checksums
6.3.5 Resource type
6.3.6 Hierarchy and uniqueness scope
6.4 Implementation
6.4.1 Size
6.4.2 Generation
6.4.3 Tomb-stoning
6.4.4 Checksum
6.4.5 Database storage
6.5 What about UUIDs?
6.6 Exercises
7 Standard methods
7.1 Motivation
7.2 Overview
Notes:
Includes index.
7.3 Implementation.
Description based on print version record.
Other Format:
Print version: Geewax, J. J. API Design Patterns
ISBN:
9781638350330
1638350337
OCLC:
1261368072
Publisher Number:
9781617295850AU (electronic audio bk.)

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account