Skip to content

Instantly share code, notes, and snippets.

@grimrose
Last active December 25, 2015 11:39
Show Gist options
  • Save grimrose/6970630 to your computer and use it in GitHub Desktop.
Save grimrose/6970630 to your computer and use it in GitHub Desktop.
DDD読書会 #4メモ

5章

ソフトウェアで表現されるモデル

関連

  • Entity
  • Value Object
  • Service

扱いやすくするには

  • 辿る方向を強制
  • 限定することによって、多重度を効果的に減らす。
  • 本質的ではない関連を除去する

エンティティ

  • 同一性
  • ライフサイクルの連続性
  • 各オブジェクトを識別する手段を定義する
  • 結果が一意となることが保証される操作
  • 識別子
  • 人工的な同一性による誤解

値オブジェクト

  • イミュータブル
  • コピーと共有

サービス

  • 操作に状態が無い
  • 特定のサービスの任意のインスタンスを使うにあたって、インスタンスの持つ履歴を気にする必要が無い
  • インフラストラクチャ、アプリケーション、ドメインのそれぞれのサービス

モジュール

  • モジュール間は低結合、モジュール内は高凝集
  • ティア
  • ドメインモデル貧血症
  • 技術駆動の手の込んだパッケージング構成
    • コードがモデルを明らかにすることができなくなる
    • モデルを意味のある塊に分けることができなくなる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment