目次
第1章:型の機能と原則
- 型の機能
- 型の原則
第2章:データと振る舞い
- データと振る舞いの一体化(クラス)の課題
- データと振る舞いの分離
第3章:エラーハンドリング
- 例外によるエラーハンドリングの課題
- 戻り値によるエラーハンドリングの利点
- 設計方針
- Resultの概要
第4章:戻り値によるエラーハンドリングの実践
- Result / ResultAsyncへのラップ
- 関数適用
- Resultのアンラップ
- Resultリストの統合
第5章:スキーマを用いたバリデーション処理
- バリデーションの課題
- スキーマバリデーションのライブラリ(Zod)の概要
- バリデーション
- スキーマからの型推論
第6章:ドメインモデル
- ドメインモデルの構成要素
- ドメインモデルの実装
第7章:集約とリポジトリ
- 集約の概要
- リポジトリの概要
- 集約の実装
- リポジトリの実装
第8章:ドメインイベント
- イベントソーシングの概要
- データモデルの設計
- ドメインモデルの設計
- ドメインモデルの実装
- イベントストアの設計
第9章:Always-Valid Domain Model
- Always-Valid Domain Modelの概要
- Always-Valid Domain Modelの実装
第10章:入出力の依存関係
- 依存関係逆転の原則
- 依存注入
- ヘキサゴナル・アーキテクチャ
第11章:依存注入の構成管理
- 依存注入の課題
- DIコンテナ(typed-inject)の紹介
- サンプル構成
第12章:ユースケース
- ユースケースの概要
- Railway Oriented Programmingの概要
- ユースケース実装のパターン
第13章:データベースとの入出力
- Drizzle ORMの概要
- リポジトリの実装
- リポジトリのテスト
第14章:クライアントとの入出力
- Webフレームワーク(Hono)の概要
- HTTP APIの契約と実装
- サーバーの起動・停止