書籍「現場で役立つシステム設計の原則」 の読書メモ
第5章 アプリケーション機能を組み立てる
- リポジトリのメソッド名、引数、返す値は、すべて業務用語で表現する
- リポジトリを使った業務データの操作は、データベースの操作ではなく、業務の関心事としてとらえる
第6章 データベースの設計とドメインオブジェクト
- テーブル設計の基本は3つの制約
- NOT NULL制約
- 一意制約
- 外部キー制約
- まずカラムをすべてNOT NULL制約にし、どうしてもNULL値が必要な場合は別テーブルに分けることを検討する
- 「コト」の記録を徹底する
- UPDATE文はデータの不整合が混入しやすいので使わない
第7章 画面とドメインオブジェクトの設計を連動させる
- なんでも画面はわかりにくい
- 画面はアプリケーションに複雑さ持ち込む(画面表示ロジックと業務ルールの混在)
- 用途ごとのシンプルな画面設計が重要
- 利用者の関心事に焦点を当てると、タスクごとの画面に分けやすい
- 画面を表示するロジックにif文が入り始めたら要注意。 ドメインオブジェクトに書くべきロジックの可能性がある。