実装設計
なぜ「設計」が大事か
修正・拡張を容易にする
修正・拡張するときに変更すべき箇所が散らばっていると
少しの修正でも広範囲のコードを修正することになる
広範囲のテストが必要になる
期待していない副作用が起こる
コードを読みやすくする
ドメインオブジェクト
業務の関心事
業務データとそれを使った判断/加工/計算のロジックを一体にしたもの
データとロジックを1つのクラスにまとめる事でコードの重複を防ぐ
ドメインモデル
プログラミング言語で書いた「業務の用語集」、「業務の説明書」
それぞれの用語がどのように関連し、相互に作用するかをパッケージ構成やクラスの参照関係で立体的に表現する