2021 Microservices Architecture Study

Guide

  • 00. Kick-Off
  • 01. Domain Modeling
  • 02. Repository Pattern
  • 03. Coupling and Abstractions
  • 04. Flask API and Service Layer
  • 05. TDD in High and Low Gears
  • 06. Unit of Work Pattern
  • 07. Aggregates and Consistency Boundaries

Modules

  • config
  • domain
  • adapters
  • services
  • routes
  • apps
  • tests

Library Reference

  • SQLAlchemy
  • Flask
2021 Microservices Architecture Study
  • »
  • Guide
  • View page source

  • 00. Kick-Off
    • 얼음 깨기
    • 스터디 소개
    • 토론
    • 책 둘러보기
    • 3분 DDD
    • 결론
  • 01. Domain Modeling
    • Overview
    • Exploring the Domain Language
    • Unit Testing Domain Models
    • Not Everything Has to Be an Object: A Domain Service Function
    • Domain Modeling Recap
  • 02. Repository Pattern
    • Prerequisites
    • Persisting Our Domain Model
    • Reminder: Our Model
    • Introducing the Repository Pattern
    • Building a Fake Repository for Tests is Now Trivial!
    • What is a Port and What is an Adapter, in Python?
    • Wrap-Up
  • 03. Coupling and Abstractions
    • Introduction
    • Abstracting state Aids Testability
    • Choosing the Right Abstractions(s)
    • Implementing Our Chosen Abstractions
    • Wrap-Up
  • 04. Flask API and Service Layer
    • Introduction
    • 사전 준비
    • E2E 테스트 구현해보기
    • A Typical Service Function
    • The DIP in Action
  • 05. TDD in High and Low Gears
    • Introduction
    • How is our Test Pyramid Looking?
    • Should Domain Layer Tests Move to the Service Layer?
    • On Deciding What Kind of Tests to Write
    • High Gear(저속 기어) and Low Gear(고속 기어)
    • Fully Decoupling the Service-Layer Tests from the Domain
    • Carrying the Improvment Through to the E2E Tests
    • Wrap-Up
  • 06. Unit of Work Pattern
    • Introduction
    • The Unit of Work Collaborates with the Repository
    • Test-Driving a UoW with Integration Tests
    • Unit of Work and Its Context Manager
    • Using the UoW in the Service Layer
    • Explicit Tests for Commit/Rollback Behavior
    • Explicit Versus Implicit Commits
    • Examples: Using UoW to Group Multiple Operations into an Atomic Unit
    • Tidying Up the Integration Tests
    • Wrap-Up
Next Previous

© Copyright 2021, Joseph Kim <cloudeyes@gmail.com>

Built with Sphinx using a theme provided by Read the Docs.