DTO를 도메인 객체로 변환 할 때 리포지토리를 사용하는 것이 나쁜 디자인인지 알고 싶습니다.리포지토리를 사용하는 객체 매퍼
저는 ORM 용 저장소 계층과 서비스 계층과 ef4가있는 n 계층 웹 응용 프로그램을 구축하고 있습니다. 서비스 계층은 DTO 버전의 도메인 개체를 노출합니다. 서비스 소비자로부터 DTO를 받으면 서비스는 AutoMapper를 사용하여 DTO를 도메인 객체로 변환합니다.
public class LogonEventDto
{
public DateTime Time
{
get;
set;
}
public Guid UserId
{
get;
set;
}
}
도메인 버전 :
DTO 버전 - 이제 도메인 개체의 멤버 속성의 몇 가지 예를 들어 나는 아래의 클래스가 데이터베이스에서로드해야합니다 그것은 DO 버전으로 DTO 변환에 관해서 지금
public class LogonEvent { public DateTime Time { get; set; } public User User { get; set; } }
, 나는 UserRepository에 GetById() 메소드를 호출하고 LogonEvent.User 속성 재치를 설정해야합니다 그 결과.
내가 알기로 현재 서비스 계층에서 모든 변환 논리를 수동으로 처리하고 있습니다.
위의 질문에 위와 같이 잘못된 디자인 결정이 적용되는 이유는 무엇입니까?