- URL: Almin.js | JavaScriptアーキテクチャ
- 著者: azu (@azu_re )
- 公開日: 2016-04-27
いつ読むか?
- フロントエンド DDD/CQRS のリファレンス実装として
読書メモ
概要
Almin.jsは中規模以上のJavaScriptアプリケーション向けアーキテクチャフレームワーク。サーバサイドのDDD + CQRSパターンをクライアントサイドに適用。
構造
Write Stack(書き込み)
- UseCase: ドメインの振る舞いの流れを記述
- Domain Model: データと振る舞いを持つオブジェクト
- Repository: ドメインモデルの永続化を管理
Read Stack(読み取り)
- Store: Stateを保持し、UIに状態を提供
- Read Model: View用に最適化されたデータ
いつ使うか
- 画面が複雑なElectronアプリ、SPAなど
- 「スケーラブルで見た目が複雑ではないアーキテクチャ」が必要な場合
利点
- テスト時に依存を自然に分離できる
- 新機能追加時に役割分担が明確
- ビジネスロジックをドメインモデルで統一管理