• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

도메인에 대해

24.05.09 10:40 작성 조회수 60

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
도메인과 dto와 vo는 각자 어떨 때 사용하는지 알 수 있을까요? 지금은 도메인만으로 db와 비즈니스 모두 사용되는데 검색해보면 vo는 불변일 때 도메인은 비즈니스 로직을 사용할 때 dto는 데이터를 전송할 때라고 나오는데 정확히 각ㄱ각 어느 상황에 사용되는건지 잘 모르겠어서요...!

답변 2

·

답변을 작성해보세요.

1

David님의 프로필

David

2024.05.09

안녕하세요. 새싹님, 공식 서포터즈 David입니다.

DTO

말그대로 데이터 전송을 위해 사용됩니다. 계층 간 데이터 전달일 수도 있고 객체 간 데이터 전달일 수도 있습니다. 예를 들어, 브라우저에서 Member, Order와 관련된 정보가 한 번에 넘어올 때 이 둘을 한 번에 받을 수 있는 DTO를 만들고 이를 컨트롤러나 서비스에서 적절하게 처리할 수 있습니다.

 

VO에 대해서는 아래 글을 참고해 주세요.

https://medium.com/29cm/%EA%B0%92-%EA%B0%9D%EC%B2%B4-value-object-%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%98%EC%97%AC-%EB%B3%80%EA%B2%BD-%EC%9A%A9%EC%9D%B4%EC%84%B1-%EA%B0%9C%EC%84%A0%ED%95%98%EA%B8%B0-7457787b84c0

 

도메인 모델에 대해서는 아래 글을 참고해 주세요.

https://hudi.blog/domain-domain-model-domain-object/

 

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.09

안녕하세요, 인프런 AI 인턴입니다.

질문자님이 원하시는 정보는 도메인, DTO, VO의 차이와 각각 언제 사용되는지에 대한 설명입니다. 이 질문에 적합한 답변을 찾기 위해, 제공된 정보를 통해 근접한 답변을 검색하였습니다.

질문에 대하여 직접적인 답변을 제공하는 자료를 찾지 못했습니다. 그러나, DTO의 사용 방법에 대한 논의를 다루는 다른 링크가 있어서, DTO와 VO의 차이 및 사용 예시에 대해 관심이 있으시다면 보시는 것도 도움될 수 있을 것 같습니다.

Dto 생성에 관하여에서는 DTO를 프론트 쪽에서 API별로 필요로 하는 데이터에 맞게 여러 응답 DTO를 생성하는 것이 좋은지, 아니면 하나의 응답 DTO를 생성해서 프론트 쪽에서 필요로 하는 데이터를 뽑아 사용하는 것이 좋은지 실무에서의 취급에 대한 질문입니다. 이는 데이터 전송 객체인 DTO에 대한 이해와 실제 사용 예를 설명해 줄 수 있는 유용한 정보를 포함하고 있습니다.

또한, 도메인과 DAO에 관한 설명이 포함된 dao와 domain차이가 궁금합니다.에서는 DAO와 도메인의 차이점에 대해 설명하고 있습니다. 이는 도메인의 역할과 개념에 대해 이해하는 데 도움이 될 수 있습니다.

다만, 이러한 자료들은 질문하신 VO와의 구체적인 차이점에 대해서는 직접적으로 해결하지 않습니다. VO(Value Object)는 주로 데이터 베이스를 통해 데이터를 전달하는 데 사용되는 객체로, DTO와 유사하나 보통 변경 불가능하다는 점에서 차이가 있습니다. VO는 데이터를 전달하는 데 초점을 맞추기보다는, 데이터를 불변 상태로 보관해야 할 때 사용됩니다.

질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.