無料マンガ・ラノベなど、豊富なラインナップで203万冊以上配信中!
◆型で意図を表し、関数でロジックを組み立て、複雑な業務ドメインをコードに落とし込む◆
■こんな方におすすめ
- 大規模なコードベースでアプリケーション開発に課題を感じているエンジニア
- 関数型プログラミングの基本概念を理解しており、実務での応用方法を模索しているエンジニア
- DDDを取り入れているが、オブジェクト指向設計に限界を感じているエンジニア
- TypeScriptでも堅牢なバックエンド開発が可能か知りたいエンジニア
■目次
第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の契約と実装
・サーバーの起動・停止
■著者プロフィール
木村彰宏:SaaS事業を支えるプラットフォーム基盤と、データ利活用のための分析基盤の企画・設計・開発に長年従事。マーケティングテクノロジー企業でVPoE、医療プラットフォーム企業でChief Architectを歴任し、プロダクト戦略や技術戦略を推進。曖昧な要求をモデルで具体化し、システム境界とデータの流れを設計してコードへ落とし込むことを得意とする。専門領域の1つは、TypeScriptによる関数型ドメインモデリング。 X: @kimutyam
※アプリの閲覧環境は最新バージョンのものです。
※アプリの閲覧環境は最新バージョンのものです。