개발 이야기/backend

스프링부트 미니 프로젝트 만들기 - MVC 모델 큰 그림으로 개념잡기

thisisamrd 2023. 10. 9.

문제점

일단 이번 프로젝트를 진행하기 전 개념 정립을 한번 더 해야 함을 느꼈다.

MVC모델이 이해가 될 듯 하다가 말았던 이유는 

직장 프로젝트에 쓰인 class가 책이나 인강에서 접하는 class와 달랐기 때문이다.

또한 이해가 안가는 용어들(dto, dao, vo, controller 등)을 검색해보면

어디는 dto를 쓰고 어디는 안 쓰고,

어디는 entity를 쓰고 어디는 안썼다.

 

혼란했다...숲을 모른 채로 나무부터 봐서 그런걸까.

서둘러 큰 흐름을 이해해야 할 필요를 느꼈다.

 

MVC모델 개념

MVC모델에 대해서는 찾아보면 뭐가 많이 나온다.

그 중에 가장 직관적인 도식은 아래 그림이였다.

 

 

이제 좀 개념이 잡히는 데이터의  흐름.

나만의 버전으로 텍스트로 한번 도식화 해보려 한다.

 

 

 

TIL스프링부트 초보의 미니 프로젝트 만들기 - MVC 모델 개념 정리

 

 

 

스프링 레거시를 사용하는 회사 플젝의 데이터 흐름을 A라고 하고 

스프링부트 책에서 소개하는 데이터 흐름을 B라고 했을때 

A, B를 도식화하면 아래와 같다.

 

 

근데 이거 줄바꿈하면 깨지려나 모르겠다.

 

 

MVC개념 도식화


  A             view -> controller -> service -> dao -> vo -> db -> vo -> dao -> service -> controller -> view
  B             view -> controller -> service ->     entity   ->  db ->     entity    -> service -> controller -> view

  MVC       View - Controller ------------------------------- Model ------------------------------- Controller - View


 

와~~ 숲 만들기 완성!맨 아래 MVC는 A와 B의 각 흐름에 대응하는 부분을 MVC모델의 관점으로 나눠 본 것이다.이렇게 나누었으니 각 클래스에 대한 디테일한 정보는 각각 모를 때마다 찾아보면 될 것이다.

 

 

 

오늘 배운 점.MVC 모델은 숲 부터 이해하는게 효율적이다.

댓글