MVC 패턴

김민건·2021년 10월 31일
0

기술

목록 보기
6/19

디자인 패턴이란?

특정 유사한 기능을 개발하는 중에 발생하는 다양한 이슈들을 해결하는 데 도움을 주는 일종의 코드 형태이다. 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정 패턴으로써 정의된 것을 의미한다.

그렇다면 MVC 패턴은 정확하게 무엇인가?

간단히 얘기하자면, 프로그램을 구성하는 요소를
Model(데이터), View(화면), Controller(로직) 으로 분류하여 각자의 역할과 업무에만 충실하도록 구성하는 것을 말한다.

장점

→ 유지보수가 용이해짐

→ 중복코딩 X

→ 확장성, 유연성 증가

그럼 각각의 MVC를 분리한다는 건 알겠는데, 이를 어떻게 분리시켜야한다는 것일까?

Model

모델은 다음 3가지 규칙을 가지고 있어야한다.

  1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야한다.
  2. View, Controller에 대한 어떤 정보도 알면 안된다.
  3. 변경이 발생할 때, 변경 통지에 대한 처리를 구현해야한다.

ex) Service ( 비즈니스 로직 처리 ), Model ( DB 정보 )

View

화면에 표시되는 UI를 의미한다.

  1. 모델이 가지고 있는 정보를 따로 저장하면 안된다.
  2. Model, Controller에 대한 어떤 정보도 알면 안된다.
  3. 변경이 발생할 때, 변경 통지에 대한 처리를 구현해야한다.

ex) SSR의 경우 : View ( JSP, Thymeleaf 등등 )
CSR의 경우 : Front에서 이루어짐

Controller

Model과 View를 연결해주는 역할을 한다. 즉, 상황(조건)에 맞게 전달만 해주는 역할을 수행한다.

  1. Model, View에 대해 알고 있어야 한다.
  2. Model, View의 변경을 모니터링 해야한다.

ex) Controller ( 전송된 데이터를 받아, 처리할 Service를 선정하고, 처리된 데이터를 넘긴다 )

profile
백엔드 꿈나무

0개의 댓글