「DDD」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→設計モデル) |
|||
行16: | 行16: | ||
*アプリケーション層(service) | *アプリケーション層(service) | ||
*データベース層(repository(dao)) | *データベース層(repository(dao)) | ||
− | *ドメイン層( | + | *ドメイン層(Plain Old Java Object Bean Validationなど):要約一覧クラス、要約クラスなど |
ドメイン層の行数は30~60行 | ドメイン層の行数は30~60行 |
2017年1月30日 (月) 16:29時点における版
ドメイン駆動設計の講習の要約
ソフトウェア設計について
良い設計とは
- 変更が楽で安全
ドメインロジックとは
問題領域の仕組みや約束事を表現したロジック
エリックエバンスの本
- オブジェクト指向について
- 高凝集・疎結合のコード(クラス・メソッド名なども)は利用者の関心ごとと同じにする
- 重要な用語をチームで共有する
設計モデル
- プレゼンテーション層(controller)
- アプリケーション層(service)
- データベース層(repository(dao))
- ドメイン層(Plain Old Java Object Bean Validationなど):要約一覧クラス、要約クラスなど
ドメイン層の行数は30~60行
ドメイン層のモデルパターン
- 識別オブジェクト:判断ロジック、順序
- 値オブジェクト:日付などの単純なデータ加工
- コレクションオブジェクト:同一データについてのデータ加工
- 区分オブジェクト:男女判断とか、権限周り。(enumを使う)
- howよりwhat:add(-1)ではなくpreviousDay()などとする
おすすめ図書
- 実装パターン
- リファクタリング:嫌な匂い(DDD初心者には)