재 :
당신이 AGGREGATE ROOT 및 저장소 패턴의 아이디어로 봤어 "나는 새로운 객체를 생성 할 때 기본 ORM을 호출하는 방법"- 그들은 도움이 될 수 있습니다.
대략적인 요약 : 전체 레전은 시스템 내에서 전역 적으로 고유 한 ID를 가진 '실체'입니다. 대부분의 경우, 이것들은 응용 프로그램이 'id에 의해'잡아 내야 할 유일한 객체입니다. 그것들은 응용 프로그램 시작/부트 스트랩에서 일반적으로 으로 초기화되는 데이터베이스에 대해으로 초기화되는 저장소를 통해 발견됩니다.
전체 루트에 대한 팩토리는 일반적으로 응용 프로그램 시작/부트 스트랩에서 데이터 레이어에 대해 으로 알 수 있습니다 ().
REPOSITORY는 원하는 방식으로 개체의 데이터를 수집하는 프로세스를 중재 할 수 있습니다. REPOSITORY는 원시 데이터를 얻기 위해 datalayer/mapper에게 위임하고 건물을 수행하기 위해 FACTORY (클래스/메소드)로 오브젝트 재구성의 실제 작업을 위임하는 경향이 있습니다. REPOSITORY는 새로 재구성 된 AGGREGATE ROOT 오브젝트 또는 (콜렉션 - of)를 저장소의 find 메소드를 호출 한 클라이언트 (예 : 응용 프로그램)에 보냅니다. REPOSITORY는 AGGREGATE ROOT를 검색하고 저장하는 인터페이스이며 메모리에 저장되는 동작을 제공합니다.
그러나 응용 프로그램에서는 FACTORY를 직접 사용하여 새로운 AGGREGATE ROOT 개체를 만들 수 있습니다.
AGGREGATE ROOT의 공장은 ORM/Mapper 레이어에 대한 지식이 풍부하고 새로운 엔티티를 만들 때 고유 ID를 얻기 위해 일종의 '숫자 시퀀스 객체'서비스를 호출 할 수 있습니다.
AGGREGATE 뿌리는 일반적으로 다른 도메인 개체 중 하나이기 때문에 '세계적으로 알려진 ID로 찾기'할 필요가 도메인 개체의 유일한 종류의 :
- 일회용 값 객체 - 돈 값과 같은, 또는
- '전체 루트 종속적 인'엔티티. 나는.
- 총 ROOT 정말 그것을 발견하기 만해야한다는 것을 의미 집계 루트의 컨텍스트 내에서만 고유 ID가 개체/사용 - 내부
- 그들이 찾을 수 있습니다
- 그들의 ID를 컨텍스트/범위를 정의 AGGREGATE 루트에 의해 생성 될 수 AGGREGATE ROOT의 ORM 매퍼를 사용
더 읽을 : 0
도메인 기반 디자인, Eric Evans를 참조하십시오.
집계 루트 : http://books.google.co.uk/books?id=7dlaMs0SECsC&lpg=PP1&dq=domain%20driven%20design&pg=PA147#v=onepage&q=&f=false
Repositroies : http://books.google.co.uk/books?id=7dlaMs0SECsC&lpg=PP1&dq=domain%20driven%20design&pg=PA147#v=onepage&q=&f=false