해결된 질문
작성
·
71
0
원래는 장고 프레임워크를 주로 이용했었습니다.
MTV와 MVC의 View가 장고는 비즈니스로직을 처리해서 Template에 주고, M은 스프링의 Repository와 비슷하다고 생각했습니다. 조금 헷갈리는게,
MVC일 때 V는 확실히 랜더링 부분만 담당하는 것이 이해가 갑니다. 다만 Controller가 비즈니스 로직을 담당하는데, Service와 의미가 겹치지 않나 싶었고
보통 django에서는 view에서 처리한 데이터를 Model을 통해 넣는다던지 아니면 model을 통해 가져온 데이터를 view로 하여금 template에 전달한다는 느낌이었는데 오늘 강의의 그림을 보니
controller -> model -> view 인 것 처럼 보여서 그러면 MTV의 M과 MVC의 M은 또 많이 다른건가 싶었습니다. 심지어 이것을 더욱 헷갈리게 하는 것이 Repository인데...
MVC인데 뭔가 MVC+Service+Repository인건가 싶기도 하고 헷갈리네요 ㅠㅠ
Service - Controller : 프로젝트가 거대해지면 비즈니스로직은 서비스에서 처리하고 컨트롤러는 서블릿 형태의 역할로만 남는건가 싶기도 하고(추측)
Model-Repository : 레포지토리가 아무리 봐도 후에 JPA ORM을 사용할 수 있는 영역일 것 같은데, 그렇다면 오늘 강의의 그림에서 보여진 Model은 단순히 컨트롤러에서 View로 데이터 전달을 위한 임시보관소인가 싶습니다. Model은 그림상 DB랑 연결되는 느낌은 없는데.. 아니면 Model은 껍데기고 Model이 리포지토리에 구축된 JPA ORM을 이용해서 DB랑 통신하는 개념일지...
질문이 장황한데... 헷갈려서 그렇네요 답변 주시면 감사하겠습니다:)
답변 1
1
안녕하세요. 영한노게임님, 공식 서포터즈 David입니다.
질문 주신 내용의 대부분은 MVC 패턴 - 개요
편에서 언급하고 있사오니 참고해 주세요:)
다만 Controller가 비즈니스 로직을 담당하는데, Service와 의미가 겹치지 않나 싶었고
...
Service - Controller : 프로젝트가 거대해지면 비즈니스로직은 서비스에서 처리하고 컨트롤러는 서블릿 형태의 역할로만 남는건가 싶기도 하고(추측)
이 부분은 아래 이미지의 참고
부분을 확인해 주세요.
MVC인데 뭔가 MVC+Service+Repository인건가 싶기도 하고 헷갈리네요 ㅠㅠ
원래는 컨트롤러 내에 비즈니스 로직, 데이터 접근 로직 등이 있었는데 비즈니스 로직은 Service, 데이터 접근 로직은 Repository로 분리했다고 생각하시면 됩니다.
그렇다면 오늘 강의의 그림에서 보여진 Model은 단순히 컨트롤러에서 View로 데이터 전달을 위한 임시보관소인가 싶습니다.
아래 이미지의 모델
부분을 확인해 주세요.
아래 부분을 잘 읽어보시면 이해에 도움이 됩니다.
감사합니다:)
기존의 잘못된 지식이 새로운 지식을 방해하고 있던 것 같네요. 감사합니다. 문자 그대로 이해하면 문제가 없을 것 같네요. 타 프레임워크와의 공통점을 너무 찾으려했던 것 같습니다 ㅎㅎ;;