[ 알뜰신잡 ] MVC 패턴

Space Developher·2022년 12월 1일
0

MVC 패턴이란?

디자인 패턴 중 하나으로, Model & View & Controller 로 역할을 구분한 개발 방법론이다.

모델1 아키텍쳐

JSP(View) & JavaBean(Service)
뷰와 로직이 섞인다.

장점

구조가 단순하다.

단점

출력과 로직 코드가 섞여 JSP 코드가 복잡해진다,
프론트와 백엔드가 혼재되어 분업이 용이하지 않다.
유지보수가 어렵다.

모델 2 아키텍쳐

JSP(View) & JavaBean(Service) & 서블릿

장점

뷰와 로직의 분리로 모델1에 비해 덜 복잡하고, 분업이 용이하며, 유지보수가 쉽다.

단점

모델1에 비해 습득이 어렵고 작업량이 많다.

MVC 흐름

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

MVC 구성 요소

Model

값과 기능을 가지고 있는 객체
비즈니스 로직을 수행한다.

View

모델에 포함된 데이터의 시각화

Controller

모델 객체로의 데이터 흐름을 제어
뷰와 모델의 역할을 분리

왜 MVC 패턴을 사용하는가?

장점

  • 각 컴포넌트의 코드 결합도를 낮추기 위해 사용된다.
  • 코드의 재사용성을 높이기 위해 사용된다.
  • 구현자들 간의 커뮤니케이션 효율성을 높이기 위해 사용된다.

사용시 주의사항

Model 에서 View의 접근 또는 역할 수행

View 에서 일어나는 과한 값 검증과 예외 처리

  • 단일 책임 원칙 위반

참고

우아한 테크

profile
어제보다 오늘 더, 오늘보다 내일 더

0개의 댓글