객체의 일관성 유지하기

  • 일관성과 무결성
    • 일관성(consistency): 객체가 정확하고 신뢰할 수 있는 정보를 가지는것
    • 무결성(integrity): 정보를 정확하게 유지한다는것

1. 항상 일관성을 유지하라

2. 효과적인 데이터 유효성 검사 메커니즘

  • 사전 조건을 명시적으로 정의
  • 유효성 검증 컴포넌트
  • null은 신중하게 사용, 되도록 피할것

3. 상태 확인을 캡슐화하라

4. 필요한 게터와 세터만 제공하라

5. 객제 집단의 불변 조건을 보장하도록 애그리케이트를 모델링하라

  • DDD의 애그리케이트 루트는 애플리케이션의 나머지 부분에 의해 단일 객체로 간주되는 객체들의 집합
  • 클라이언트는 루트 객체에만 접근