いつ読むか?

  • フロントエンド DDD/CQRS のリファレンス実装として

読書メモ

概要

Almin.jsは中規模以上のJavaScriptアプリケーション向けアーキテクチャフレームワーク。サーバサイドのDDD + CQRSパターンをクライアントサイドに適用。

構造

Write Stack(書き込み)

  • UseCase: ドメインの振る舞いの流れを記述
  • Domain Model: データと振る舞いを持つオブジェクト
  • Repository: ドメインモデルの永続化を管理

Read Stack(読み取り)

  • Store: Stateを保持し、UIに状態を提供
  • Read Model: View用に最適化されたデータ

いつ使うか

  • 画面が複雑なElectronアプリ、SPAなど
  • 「スケーラブルで見た目が複雑ではないアーキテクチャ」が必要な場合

利点

  • テスト時に依存を自然に分離できる
  • 新機能追加時に役割分担が明確
  • ビジネスロジックをドメインモデルで統一管理