테코톡 정리 - MVC 패턴

UkJJang·2021년 11월 8일
0

https://www.youtube.com/watch?v=uoVNJkyXX0I&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=173 영상을 보며 정리하였습니다.

MVC 패턴이란

  • 디자인패턴이란 : SW 개발방법을 공식화 한 것!
  • MVC 패턴은 Model View Controller 세가지 역할로 구분한 개발 방법론

모델1

  • MVC 전에 JSP + JavaBean(Service)로 구성된 패턴
  • 장점 : 구조가 단순하다.
  • 단점 : 출력과 로직 코드가 섞여 JSP코드가 복잡해진다. 프론트와 백엔드가 혼합되어 분업이 용이하지 않다. 유지보수가 어렵다.

모델2

  • 모델1 이후의 방식으로 JavaBean(Service) + JSP + 서블릿으로 구성된 패턴
  • 장점 : 뷰와 로직이 분리로 모델1에 비해 덜 복잡하고 분업이 용이하며 유지보수가 쉽다
  • 단점 : 모델1에 비해 습득이 어렵고 작업량이 많다.

MVC의 흐름


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

모델이란

  • 값과 기능을 가지고 있는 객체

뷰란

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

컨트롤러란

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

서비스란

  • 비즈니스 로직을 수행하는 메서드를 가지고 있는 객체
  • 컨트롤러는 서비스 객체를 받아 사용하도록 구성한다.

레포지토리

  • 데이터 엑세스 메서드를 별도의 레포지토리 객체에서 구현
  • 서비스는 레포지토리 객체를 사용한다.

MVC의 장점

  • 각 컴포넌트의 코드 결합도를 낮춘다.
  • 코드의 재 사용성을 높인다.
  • 구현자들 간의 커뮤니테이션 효율성을 높인다.

많이 실수하는 부분

  • Model에서 View의 접근 또는 역할을 수행한다.
  • View에서 일어나는 과한 값 검증과 예외처리
  • View에서 일어나는 비즈니스 로직
profile
꾸준하게 성실하게

0개의 댓글