나는 Automapper이라는 도서관을보고 있었다. 나는이와 몇 가지 문제를 겪고 :DTO 및 엔티티를 DRY 원칙을 위반합니까?
우리는 우리의 데이터 모델 (GOOD)를 노출 싶지 않다. 왜 데이터 모델은 DB와 매우 유사합니까?
엔티티 대신 경량 DTO를 사용하십시오. (좋아)
이제 엔티티를이 DTO에 매핑해야합니다. 내가 건식 원리를 존중합니까?
나는 Automapper이라는 도서관을보고 있었다. 나는이와 몇 가지 문제를 겪고 :DTO 및 엔티티를 DRY 원칙을 위반합니까?
우리는 우리의 데이터 모델 (GOOD)를 노출 싶지 않다. 왜 데이터 모델은 DB와 매우 유사합니까?
엔티티 대신 경량 DTO를 사용하십시오. (좋아)
이제 엔티티를이 DTO에 매핑해야합니다. 내가 건식 원리를 존중합니까?
하나는 DTO들이 DRY 위반 주장 할 수 있지만,이 상황에 의미가 있다면 나는 그것에 대해 두 번 생각하지 않을 것입니다.
DRY는 대부분의 프로그래밍 모범 사례와 마찬가지로 은색 총알이 아닙니다. 때로는 타협해야합니다. 이 경우 도메인 세부 정보가 필요하지 않은 발신자 (예 : N + 1 지연로드 문제)에게 누출 될 수있는 문제를 방지하기 위해 DRY를 위반하는 것이 완벽하게 수용 가능하다고 주장합니다.
응용 프로그램에 따라 다릅니다. 트랜잭션 응용 프로그램과 비즈니스 로직 요구 사항에 따라 데이터 모델을 상위 계층 코드에 노출하면 특정 규모의 프로젝트에 적합 할 수 있습니다. DRY는 응용 프로그램이 커질수록 중요 해지 겠지만,이 질문을하는 맥락을 충분히 알지 못합니다.