ドメインは基本的にPlain Old JavaScript Object(POJO)で書く。 ライブラリへの依存は必要最低限のものとする。
InfraのAPIクライアントなどは外から受け取るようにし、ドメインがInfraに依存してはいけない。
DDDでいうところのドメイン層。 業務領域ごとに情報や機能がまとまっている。 何か新機能が追加される場合や、既存の機能を変更する場合はここをいじることになる。
すごい難しい。 ライフサイクルや、複雑度合いなどを考慮してドメインを分ける。 チームメンバーと相談し、都度判断する。
ドメインごとにディレクトリを切る。
名前は hoge/Fuga.js
とする。(ドメインのディレクトリ名は小文字)
ドメインは振る舞いをもつ。 データだけをもつドメインモデル貧血症にしない。