• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MVC, SSR, CSR

24.01.26 23:45 작성 24.01.26 23:54 수정 조회수 177

0

안녕하세요  

아직 강의를 절반도 채 수강하지 않았으나

제 얕은 지식과 현재 배우고 있는 내용이 머릿속에서 혼란을 일으켜 여쭙습니다 

 

  • entity : DB에 저장,조회 등 직접적인 데이터로 이용하기 위해 만든 객체

  • dto : 웹을 통해 주고 받을 때, entity를 바로 쓰기에는 위험하므로 또는 entity의 필요한 부분만을 이용하기 위해 만든 객체

  • repository layer : DB와 관련된 로직을 수행하는 계층

  • service layer : repository를 이용하여 비즈니스 로직을 수행하는 계층

  • controller layer : HTTP 요청을 받고 service를 이용하여 로직을 수행 후 응답을 보내주는 계층

     

 으로 알고있습니다.  

 

현재 김영한님 강의에서 배우는 MVC패턴을 이용한 SSR(서버사이드랜더링)에서 ,

  • controller : (현재 Servlet을 이용) service/repository 를 이용해 로직을 수행하고 필요한 데이터를 model에 담아 view로 전달

  • model : HttpServletRequest 객체 이용, request 내부에 데이터 저장

  • view : (현재 JSP를 이용) model을 통해 html페이지를 동적으로 만들고, 브라우저에 랜더링 

     

     

     

     


    위와 같이 동작하는 것으로 이해하였는데,  

     

 

  1. CSR로 바뀐다면,  

     

    • model : JSON형태(dto객체를 JSON으로 변환시킨)의 payload를 가진 HTTP 프로토콜  

    • view : 클라이언트서버(브라우저와 직접 통신하여 화면을 랜더링해주는)  

       

       

       

       


      ->  

       

      커다란 MVC패턴이라고 봐야하는건가요?

       

      아니면 MVC패턴이 깨지고, 그냥 클라이언트단과 서버단이 API를 통해 통신한다고만 이해하면 되는 건가요?

     

  2. 제가 이해하고 있는 용어나 흐름 등에 잘못된 정보가 있다면 고쳐주실 수 있나요?

 긴 글 읽어주셔서 감사합니다

강의 너무나 잘 보고 있습니다~!   

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2024.01.27

안녕하세요. 문찬규님, 공식 서포터즈 David입니다.

  1. MVC 패턴의 view를 사용자에게 최종적으로 제공되는 화면으로 정의한다면 MVC 패턴이 아니라고 볼 수 있습니다. 만약 view를 사용자에게 제공되는 응답으로 정의한다면 MVC 패턴을 따른다고 볼 수 있습니다.

  2. 전체적으로 잘 이해하고 계신듯합니다.

감사합니다:)