Skip to main content

Book Exercise Lanes

This generated surface maps a learner-facing curriculum unit to its canonical source routes.

Curriculum surface

  • Open learner-facing unit
  • Curriculum path: content/curriculum/architecture/semester-07-architecture-ddd/module-04-api-design-contract-evolution/exercises.md
  • App: architecture
  • Semester: semester-07-architecture-ddd
  • Module: module-04-api-design-contract-evolution
  • Unit kind: exercise
  • Curation level: module_curated

Learning objectives

  • Explain Book Exercise Lanes as a contract and evolution problem, not just an endpoint-shape or schema-format decision.
  • Use Book Exercise Lanes to reason about compatibility, versioning, lifecycle cost, and the blast radius of public interfaces.
  • Use api-design-patterns, fundamentals-of-software-architecture, learning-domain-driven-design to connect the learner page to contract design, compatibility strategy, and API governance decisions.

Prerequisites

  • Comfort with modular boundaries and bounded contexts, because APIs are where those boundaries become explicit contracts.

Source books

  • api-design-patterns
  • fundamentals-of-software-architecture
  • learning-domain-driven-design

Source routes

Api Design Patterns

  • /books/api-design-patterns via Geewax: Agile instability, Geewax: Backward compatibility 1, Geewax: Backward compatibility 2, Geewax: Backward compatibility 3 + implementation, Geewax: Batch - collective operations, Geewax: Batch atomicity, Geewax: Batch get, create, Geewax: Create and Update, Geewax: Custom methods motivation, Geewax: Delete, Geewax: Deleted designation, Geewax: Entity relationships, do you need a relationship, Geewax: Expunging, Geewax: Filter structure, Geewax: Filter syntax 1, Geewax: Filter syntax 2, Geewax: Filter syntax 3 and tradeoffs, Geewax: Granularity vs simplicity, Geewax: Happiness vs ubiquity, Geewax: Import - export, Geewax: LRO errors and monitoring, Geewax: LRO overview, Geewax: LRO resolution, Geewax: List, Geewax: Naming - bad names case study, Geewax: Offsets-limits anti-pattern, Geewax: Overview, side effects, Geewax: Page size, Geewax: Page tokens, Geewax: Partial update - overview, Geewax: Partial update motivation, Geewax: Perpetual stability, Geewax: References vs inline and anti-patterns, Geewax: Request ID collisions and caching, Geewax: Request deduplication, Geewax: Rerunnable jobs, Geewax: Resource layout, Geewax: Resource-oriented APIs, Geewax: Resources vs collections, Geewax: Resources-for-everything and in-line-everything anti-patterns, Geewax: Retries - exponential back-off, Geewax: Semantic versioning, Geewax: Soft delete across versions, Geewax: Soft delete motivation, Geewax: Types of relationships, Geewax: What are web APIs? (reference RPC framing), Geewax: What is compatibility?, Geewax: Which methods should be supported, GET

Fundamentals Of Software Architecture

  • /books/fundamentals-of-software-architecture via Fundamentals of Software Architecture: Asynchronous capabilities, Fundamentals of Software Architecture: EDA style, Fundamentals of Software Architecture: Mediator topology

Learning Domain Driven Design

  • /books/learning-domain-driven-design via Learning DDD: Anticorruption layer, Learning DDD: Event-driven architecture, Learning DDD: Model translation, Learning DDD: Types of events

Supporting curriculum routes

No supporting curriculum routes linked yet.

External enrichment

  • Microsoft REST API Guidelines (official_docs_companion) - Anchors API contract thinking in a real, widely used design standard rather than intuition.
  • Zalando RESTful API Guidelines (optional_deep_dive) - Useful for comparing how different organizations encode compatibility and lifecycle tradeoffs.

AI companion modes

  • Explain simply
  • Socratic tutor
  • Challenge my understanding
  • Diagnose my confusion
  • Connect forward / backward

Source-of-truth note

This teaching unit is learner-facing guidance assembled from multiple canonical book routes. Use the listed source books as the primary conceptual spine for Book Exercise Lanes, and treat outside material as supporting enrichment only.