設計はドメインモデルから始める
ルール
新機能・新システムの設計開始時は、DBスキーマやAPIの設計より先に業務の言葉・ルール・概念を整理する。 「どのテーブルを作るか」ではなく「業務ではどんな概念が動いているか」から問いを始める。
理由
DBやAPIから設計を始めると:
- 技術的な都合がドメインモデルを歪める(正規化のためにドメインの概念が分断されるなど)
- 業務の変化がDBスキーマ変更に直結し、変更コストが高くなる
- コードが「データの取得・保存」中心になり、業務ロジックの置き場所がなくなる
例外
- 純粋なCRUDシステム(業務ロジックがほぼない)ではDBスキーマ中心でも問題ない
- レガシーシステムへの機能追加では、既存スキーマを無視できないため段階的に適用する
出典
現場で役立つシステム設計の原則(増田亨)第1章