조금씩 읽기 도메인 구동 설계 제니부 모델 구동 설계의 구성 요소 제6장 도메인 오브젝트의 라이프 사이클 5(팩토리 2)

공장 2 부



공장 1 계속

디자인



1. 불변 조건의 어느 쪽인가가 채워지지 않고 생성이 실패했을 경우 어떻게 되는지를 결정한다


  • 예외를 Throw
  • Null를 돌려준다

  • 너무 Null은 반환하고 싶지 않기 때문에 기본은 예외를 반환하는군요.

    2. 파라미터를 신중하게 선택



    특히 매개 변수가 새로운 종속성을 만들지 않았는지 확인하십시오.

    안전한 것은, 구축하는 오브젝트의 구조의 하위 부분.



    이런 Factory라면 (주 : 그림은 Value 객체 등 편의상 가장자리 접혀 있습니다) Customer라든지, Item이라든지 작성하려고 하고 있는 객체의 구성 요소가 후보입니까.

    또 하나는 이미 집약 내에서 의존관계가 되어 있는 요소군요. 아래의 팩토리 메소드와 같은 느낌입니다.
    (주 : 그림은 Value 객체 등 편의상 가장자리 접혀 있습니다)



    불변 조건의 로직은 팩토리가 있습니까?



    오브젝트를 생성한 후에 불변조건의 체크가 들어가는 경우는 오브젝트가 가지는 것이 좋지만, 생성한 후에 더 이상 체크가 없는 경우는 팩토리가 가지면 생성한 오브젝트가 단순하게 됩니다.

    엔티티 팩토리 및 값 객체 팩토리



    값 오브젝트 팩토리는 값 오브젝트가 불변이므로, 완전하게 모든 요소를 ​​생성할 필요가 있습니다.

    엔티티 팩토리는 집계를 생성하는데 필요한 본질적인 속성만을 받는 경우가 많다. 그 세부 사항은 나중에 추가해야한다는 것입니다.

    엔티티라고 하면 동일성. 식별자는 프로그램으로 생성하는 것도 유저가 지정할 수도 있습니다만, 유저가 지정하는 경우는 팩토리의 인수로 건네주면 좋네요.

    프로그램으로 생성하는 경우에는 팩토리 내부에서 제어하는 ​​것이 좋습니다.

    내일에 계속된다. 의외로 팩토리의 이야기 깊어요・・・

    좋은 웹페이지 즐겨찾기