MVC 패턴

bird.j·2021년 6월 3일
0

SpringBoot

목록 보기
21/22

reference : 테코톡 MVC패턴

💡 MVC 패턴이란?


  • 디자인 패턴 : SW개발방법을 공식화 한 것
  • MVC 패턴 : Model, View, Controller. 애플리케이션을 3가지 역할로 구분한 개발방법론


💡 Model, View, Controller


MVC 흐름

DB ↔ 모델 ↔ 컨트롤러 ↔ 뷰
               ↕
           애플리케이션
  1. 사용자는 원하는 기능을 처리하기 위한 모든 요청을 컨트롤러에 보낸다.
  2. 컨트롤러는 모델을 사용하고, 모델은 알맞은 비즈니스 로직을 수행한다.
  3. 컨트롤러는 사용자에게 보여줄 뷰를 선택한다.
  4. 선택된 뷰는 사용자에게 알맞은 결과 화면을 보여준다. 이 때 사용자에게 보여줄 데이터는 컨트롤러를 통해서 전달받는다.

Model(Service) : 값과 기능을 가지고 있는 객체. 비즈니스 로직 처리
View(FE, JSP, thymeleaf) : 모델에 포함된 데이터의 시각화
Controller : 모델 객체로의 데이터 흐름 제어. 뷰와 모델의 역할을 분리

MVC 패턴의 장점

  • 각 컴포넌트의 코드 결합도를 낮출 수 있음
  • 코드의 재사용성을 높일 수 있음
  • 구현자들 간의 커뮤니케이션 효율성을 높일 수 있음

주의점

Controller에서 중복 발생 -> 별도의 객체로 분리, 별도의 메서드로 분리



💡 Service


비즈니스 로직을 수행하는 메서드를 가지고 있는 객체. 비즈니스 메서드를 별도의 Service객체에서 구현하도록 하고 컨트롤러는 Service 객체를 사용하도록 한다.



💡 Repository


데이터 엑세스 메서드를 별도의 Repository 객체에서 구현.
Service는 Repository 객체를 사용

0개의 댓글