Software Architecture
システムの構成要素(コンポーネント)とそれらの関係性、そして動作の仕組みを定義したソフトウェア全体の骨組み・設計図です。 プログラムを書き始める前に、品質・拡張性・保守性を確保するための土台を決定するプロセスを指します。
全部じゃないよ!まだあるよ笑 でも主要どころはこんな感じ↓
アーキテクチャ全体マップ
構成・インフラよりの話
- 3-Tier Architecture
- Microservices Architecture
- Monolithic Architecture
- Serverless Architecture
- Event-Driven Architecture
設計・コードよりの話
- MVC / MVP / MVVM
- Clean Architecture
- Hexagonal Architecture (Ports & Adapters)
- Onion Architecture
- Layered Architecture
データ・ドメインよりの話
- DDD (Domain-Driven Design)
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing