문제

종종 UI에 도메인 객체를 다양한 방식으로 표시해야합니다. 헤더, 바닥 글 및 팝업뿐만 아니라 목록, 검색 결과,보기 및 편집 페이지. 일반적으로 도메인 오브젝트의 여러 "뷰"가 있으며 각각 다른 필드가 표시됩니다.

대부분의 조언은 서브 세트 또는 슈퍼 세트가 필요할 때 데이터를 얻기 위해 DTO를 사용하는 것 같습니다. DTO를 유지하는 데 많은 오버 헤드가 있습니다. 각 시나리오에 필요한 도메인 객체의 속성을 간단히 채우는 것이 나쁜 접근 방식입니까? 예를 들어 프로필을 사용하여 어떤 속성이 포함되어야하는지 (예 :

service.getDomainObjects (int listid, profile.listprofile); service.getDomainObjects (String SearchParam, profile.searchProfile);

도움이 되었습니까?

해결책

이것이 오버 헤드가되기를 원하는 곳입니다. DTO를 나타내는 다른 클래스 세트를 갖게 될 것입니다. 다른 필드가 '수화'됩니다.

결정을 내릴 수 있도록 몇 가지 질문은 다음과 같습니다.

  • 전체 물체를 수분하는 오버 헤드는 무엇입니까? 추가 복잡성 (DTOS 또는 부분적으로 수화 된 물체)이 실제로 가치가 있습니까?
  • 다른 사람이 귀하의 코드를 사용할 것입니까? 당신은 사람들을 psinally 수화 된 물체와 혼동하지 않기 때문에 사람들이 코드를 유지하기 위해 올 때 DTO가 더 분명 할 수 있습니다.

시스템의 장기 유지 관리가 더 쉬울 것이라고 생각하기 때문에 DTO에 대한 개인적인 취향이 약간 있습니다. 당신의 One Man Band 또는 이것이 One Off Throw Away 앱이라면, 나는 당신의 코드를 어지럽히는 추가 수업을 소개하고 싶지 않다는 것을 완전히 이해할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top