조금씩 읽기 도메인 구동 설계 제니부 모델 구동 설계의 구성 요소 제6장 도메인 오브젝트의 라이프 사이클 5(팩토리 2)
공장 2 부
공장 1 계속
디자인
1. 불변 조건의 어느 쪽인가가 채워지지 않고 생성이 실패했을 경우 어떻게 되는지를 결정한다
너무 Null은 반환하고 싶지 않기 때문에 기본은 예외를 반환하는군요.
2. 파라미터를 신중하게 선택
특히 매개 변수가 새로운 종속성을 만들지 않았는지 확인하십시오.
안전한 것은, 구축하는 오브젝트의 구조의 하위 부분.
이런 Factory라면 (주 : 그림은 Value 객체 등 편의상 가장자리 접혀 있습니다) Customer라든지, Item이라든지 작성하려고 하고 있는 객체의 구성 요소가 후보입니까.
또 하나는 이미 집약 내에서 의존관계가 되어 있는 요소군요. 아래의 팩토리 메소드와 같은 느낌입니다.
(주 : 그림은 Value 객체 등 편의상 가장자리 접혀 있습니다)
불변 조건의 로직은 팩토리가 있습니까?
오브젝트를 생성한 후에 불변조건의 체크가 들어가는 경우는 오브젝트가 가지는 것이 좋지만, 생성한 후에 더 이상 체크가 없는 경우는 팩토리가 가지면 생성한 오브젝트가 단순하게 됩니다.
엔티티 팩토리 및 값 객체 팩토리
값 오브젝트 팩토리는 값 오브젝트가 불변이므로, 완전하게 모든 요소를 생성할 필요가 있습니다.
엔티티 팩토리는 집계를 생성하는데 필요한 본질적인 속성만을 받는 경우가 많다. 그 세부 사항은 나중에 추가해야한다는 것입니다.
엔티티라고 하면 동일성. 식별자는 프로그램으로 생성하는 것도 유저가 지정할 수도 있습니다만, 유저가 지정하는 경우는 팩토리의 인수로 건네주면 좋네요.
프로그램으로 생성하는 경우에는 팩토리 내부에서 제어하는 것이 좋습니다.
내일에 계속된다. 의외로 팩토리의 이야기 깊어요・・・
Reference
이 문제에 관하여(조금씩 읽기 도메인 구동 설계 제니부 모델 구동 설계의 구성 요소 제6장 도메인 오브젝트의 라이프 사이클 5(팩토리 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YasuhiroKimesawa/items/c9e0cdb52f02d03a8a86텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)