2011-01-09 4 views
0

프로젝트를 설정하는 방법을 설명하는 데 도움이 필요합니다.도메인 기반 디자인 클래스 액세스 W3C 서비스의 라이브러리

1) 내 셋업이 당신에게 잘 보입니까 다음과 같이

Company.DataTransferObjects 
--AdminDTO.cs 
--CustomerDTO.cs 
Company.DataTransferObjects.Helpers 
Company.Infrastructure.DomainServices 
--Admin 
---AdminService.cs 
--Customer 
--CustomerService.cs 
Comapny.Infrastructure.Repositories 
--Admin 
---AdminRepository.cs 
--Customer 
---CustomerRepository.cs 
Company.Domain 
--Admin 
---Admin.cs 
---IAdminRepository.cs 
--Customer 
---Customer.cs 
---ICustomerRepository.cs 
Company.WebServices 
--WebApi.cs 
--IWebAPI.cs 

내 질문

은 다음과 같이 내 솔루션 구조는?

2) DTO. 웹 서비스 관점에서, DTO는 어디서 만들어야 하는가? 독립적 인 클래스 라이브러리에 DTO를 만들고 웹 서비스에서 을 참조해야합니까? 아니면 내 웹 서비스 프로젝트에 속해야합니까?

또한 내 DTO가 내 도메인 개체와 어떻게 상호 작용하는지 분명하지 않습니다. 누군가가 프로그램의 흐름 관점에서 그들의 목적을 설명 할 수 있습니까? 특히 WCF 서비스를 만드는 경우 어떻게 조작 할 것입니까?

3) 도메인 서비스. 나는 아직도 도메인 서비스의 목적에 대한 내 마음을 감싸는 데 어려움을 겪고있다. 이것이 데이터베이스에 영향을 미치지 않고 직접 액세스 할 수없는 저장소 방법을 필요로하는 조작 기능을 드러내는 것입니까? 즉, 도메인 서비스는 여러 저장소 방법을 조작하는 방법입니까? 따라서 WCF 서비스가 저장소 메서드를 통해 액세스 할 수있는 데이터를 호출하는 경우 해당 작업이 수행해야하는 작업입니다. 그러나 여러 저장소 방법의 결과 인 데이터가 필요한 경우 도메인 서비스를 통해이 작업을 수행해야합니까?

4) Facade Pattern은 DDD 아키텍처에서 어디에 적합합니까?

제 혼란을 용서하십시오. 이해하려고합니다. 내 WCF 서비스에서 "무엇을"액세스해야 하는지를 말할 수 있다면 심각한 도움이 될 것입니다.

감사합니다.

답변

0

질문에 역순으로 진행 :

4) 귀하의 웹 서비스를 효과적으로 도메인에 외관입니다.

3) 도메인 서비스가 DB에도 충돌 할 수 있습니다. 도메인 서비스는 일반적으로 코드를 사용하여 하나의 엔티티 이상을 포함하는 항목이나 도메인의 일련의 트랜잭션을 나타내는 항목에 대해 도메인과 대화 할 때 사용해야하는 주요 API입니다. 단계. 일부 사람들은 리포지토리가 도메인 서비스의 특별한 경우라고 생각합니다. 나는 내 서비스를 내 도메인의 공용 인터페이스라고 생각합니다.

2) DTO는 일반적으로 물리적 인 경계를 넘었을 때 (또는 결국) 계획 할 때 유용합니다. SOAP 메시지와 같이 무언가를 직렬화해야한다고 생각할 때마다 DTO에 대해 생각하고 싶을 것입니다. 귀하의 경우 WCF 프로젝트는 DTO를 DataContracts로 사용하지만 내부적으로는 도메인을 다른 앱 도메인이나 다른 물리적 상자에 두지 않을 경우 도메인 개체를 사용할 수 있습니다.

1) 개인적인 취향입니다. 귀하의 레이아웃이 부당하게 보이지는 않지만 일반적으로 구성하는 방식과 다릅니다.

+0

폴 감사합니다. 따라서 내 WCF 프로젝트가 내 도메인 서비스 또는 내 도메인 (또는 둘 다)을 참조하게됩니까? –

+0

도메인 서비스 (최소 인터페이스)는 도메인 모델 프로젝트에 있어야합니다. WCF 프로젝트는 필요한 모든 것에 대한 참조를 필요로하므로 명확하게 도메인 프로젝트, 구체적으로 구현 된 다른 프로젝트도 포함해야합니다. – Paul

관련 문제