[Node.js] MVC

yeeeeechan·2023년 10월 26일

Node.js

목록 보기
2/2

MVC(Model View Controller)

상황에 따라 자주 쓰이는 설계 방법을 정리한 코딩 방법론

  1. Client가 웹사이트에 접속
  2. Controller는 Client가 요청한 웹페이지를 서비스하기 위해 Model 호출
  3. Model은 데이터 베이스, 파일 등의 데이터 소스를 제어한 후 그 결과를 return
  4. Controller는 Model이 return한 결과를 View에 반영
  5. 데이터가 반영된 View가 사용자에게 보여짐

Controller

View와 Model을 연결해 주는 부분
사용자의 요청 처리와 흐름 제어 담당

✔️ model, view에 대해 알고, 둘의 변경 상황을 모니터링해야 함

Model

데이터를 처리하는 부분
데이터를 가진 객체

✔️ 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 함
✔️ view, controller에 대한 어떠한 정보도 알지 못함
✔️ 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야 함

View

사용자에게 보여지는 UI 관련된 사항을 처리하는 부분

✔️ model이 갖고 있는 정보를 따로 저장해서는 안 됨
✔️ model, controller에 대한 어떠한 정보로 알지 못함
✔️ 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야 함


MVC의 장단점

✔️ 장점
(패턴을 구분해 개발하므로)
1. 유지보수가 용이하다.
2. 유연성/확장성이 크다.
3. 협업이 용이하다.

✔️ 단점
1. 완벽한 의존성 분리가 어렵다.
2. 설계 단계가 복잡하다. (설계에 시간이 오래 걸림)
3. 클래스(단위)가 많아진다.

0개의 댓글