rebwon
315
2020-03-13 15:19:58
4
943

DTO에 대한 개인적 견해


0
0
  • 댓글 4

  • 앙앙이
    4k
    2020-03-13 18:41:16

    자바 객체가

    데이터 전송에 쓰이면 DTO 이고

    db 쿼리에 쓰이면 DAO 이라고 생각합니다.


    보통 영역을 구별하는 것이 이상적이지만 객체 생성 비용때문에 영역을 가로 질러서 사용을 하게 됩니다.


    tcp/ip 7계층이라는 이상이 있지만 현재 4계층이죠. 이상은 이상일뿐입니다.


    VO 갖고 DAO, DTO 를 모두 해결할 경우 유연성 확장성 모두 꽉 막히게 되지만 그만큼의 가치 있습니다.


    0
  • rebwon
    315
    2020-03-13 18:52:02 작성 2020-03-13 19:01:25 수정됨
    VO하나로 DAO, DTO를 쓰게되면 유연성과 확장성을 포기할만큼의 어떤 가치가 있나요? 

    글에서 언급했듯 VO는 DDD의 VO로 혼동없게 얘기를 드렸는데 말씀하신 VO는 무엇인가요?
    0
  • 앙앙이
    4k
    2020-03-13 20:41:10

    먼저 개념 정의가 필요한것 같습니다.


    1개 서비스 =  비지니스 로직 모델 + DAO + DTO 로 구성할 경우

    각 영역 마다 객체가 1개씩 필요하므로 

    1개 서비스는 총 3개 객체가 필요합니다.


    모든 경우에서 좋은 것은 아니지만

    빈번하게 원격 호출을 하는 서비스가 있다면 

    1개 서비스를 총 3개 객체가 아닌 1개 객체로 구현할 경우

    성능면에서 엄청난 차이를 부릅니다.


    VO 의 엄격한 의미는 값을 담은 객체이지만

    비지니스 모델과 DAO, DTO 영역을 모두 커버하는 객체에 대한 공식적인 이름이 없기때문에

    이런 용도로 적당한것이 VO 이기에 퉁쳐서 VO 라고 말한겁니다.

    0
  • rebwon
    315
    2020-03-13 21:02:54

    그럼 말씀하신 VO를 DDD의 입장에서 볼때 Rich Domain Object로 생각하면 맞을까요?

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.