Architecture Patterns Roadmap

系統層級的架構風格。跟 design-pattern(類別/物件層的 GoF 23 模式)是不同抽象層:

目錄範圍
architecture-patterns/(本目錄)系統/應用層整個應用怎麼分層、資料怎麼流、命令怎麼下
design-pattern/類別/物件層GoF 23 模式、OO 設計

跨領域連結:

Stage:🌱 seed / 🌿 growing / 🌳 mature


分層架構家族

A01 Layered Architecture(N-tier)

#主題stage
01經典三層:Presentation / Business / Data🌱
02N-tier 變形🌱
03Anti-pattern:Anemic Domain Model🌱

A02 Clean Architecture

#主題連結stage
01Clean Architecture 四層 + Dependency Rule + 實作clean-architecture🌿
02Dependency Rule 深入探討(進階)🌱
03跨語言實作範例(Go / Python / Rust)🌱

A03 Hexagonal Architecture(Ports & Adapters)

#主題stage
01Hexagonal 的動機:跟 DB / Framework 解耦🌱
02Port 與 Adapter 的定義🌱
03實作範例(TypeScript / Go)🌱

A04 MVC / MVP / MVVM

前端/後端都會用到的經典分層模式。

#主題連結stage
01MVC 基礎MVC🌿
02MVP(Model-View-Presenter)🌱
03MVVM(Model-View-ViewModel,前端為主)🌱
04三者差異與選擇🌱

Domain 與資料家族

A05 Domain-Driven Design(DDD)

#主題stage
01DDD 核心概念:Ubiquitous Language🌱
02Bounded Context 與 Context Map🌱
03戰術設計:Entity / Value Object / Aggregate🌱
04Domain Event🌱
05Repository Pattern🌱
06Application Service vs Domain Service🌱
07DDD + Clean + Hexagonal 整合實作🌱
08DDD 誤用:不是所有專案都適合🌱

A06 CQRS(Command Query Responsibility Segregation)

#主題stage
01CQRS 基礎:讀寫模型分離🌱
02CQRS + Event Sourcing🌱
03CQRS 的成本與陷阱🌱

A07 Event Sourcing

#主題stage
01Event Sourcing 基礎🌱
02Event Store 設計🌱
03Snapshot 策略🌱
04Event Versioning🌱

通訊與整合家族

A08 Event-Driven Architecture

#主題stage
01Event-Driven 基礎🌱
02Pub/Sub vs Event Notification vs Event-Carried State Transfer🌱
03Choreography vs Orchestration🌱
04Event Storm Workshop🌱

A09 Microservices

#主題連結stage
01微服務定義與拆分原則微服務系列🌿
02服務邊界與 Bounded Context🌱
03Service Discovery 與 API Gateway🌱
04Saga Pattern(分散式交易)🌱
05Outbox Pattern🌱
06失敗處理:Circuit Breaker、Bulkhead、Retry🌱

A10 SOA(Service-Oriented Architecture)

#主題stage
01SOA 歷史與現代微服務的差異🌱
02ESB(Enterprise Service Bus)🌱

資料平面家族

A11 Lambda / Kappa(資料架構)

#主題stage
01Lambda Architecture(Batch + Stream)🌱
02Kappa Architecture(純 Stream)🌱
03Medallion Architecture(Bronze/Silver/Gold)🌱

A12 Serverless / FaaS

#主題連結stage
01Serverless 架構模式Serverless vs Server🌿
02冷啟動與成本模型🌱
03BaaS + FaaS 整合🌱

選擇與取捨

A13 架構選擇框架

#主題stage
01怎麼選架構:業務 + 規模 + 團隊🌱
02從 Monolith 到 Microservice 的演進路徑🌱
03反向:從微服務合併回去(Monolith First)🌱
04架構決策文件(ADR)🌱
05架構演進 vs 重構🌱

進度統計

  • 主題群:13(A01~A13)
  • 總子題:約 55
  • 🌿 growing:3(MVC、微服務、Serverless 各已有基礎)
  • 🌱 seed:52
  • 🌳 mature:0

架構設計說明

本 roadmap 按「家族」組織:

家族主題群範圍
分層架構家族A01~A04Layered / Clean / Hexagonal / MVC 系列
Domain 與資料家族A05~A07DDD / CQRS / Event Sourcing
通訊與整合家族A08~A10Event-Driven / 微服務 / SOA
資料平面家族A11~A12Lambda / Kappa / Serverless
選擇與取捨A13架構決策方法論