[Node.js] MVC Pattern

Hyunji·2022년 2월 18일
0

공부

목록 보기
2/35
post-thumbnail

MVC Pattern 이란?

MVC란, Mdoel, View, Controller 의 약어 이다.
MVC 패턴은 소프트웨어가 돌아가는 패턴 중 하나이며 각 기능별로 나눠서 (Model, view, Controller) 작업을 처리하는 방식을 의미한다.
코드 가독성과 관리, 효율성 증대를 기대할 수 있다. 일반적으로 비즈니스 로직과 사용자 인터페이스를 분리시켜 개발할 수 있다는 큰 장점이 있다.

기본적인 틀은 user 의 조작 및 요청이 controller 에게 전달되면, controllermodel 을 통해 데이터를 가져오고 controller 는 다시 그 데이터를 바탕으로 view 에게 명령하여 viewuser 가 볼 수 있도록 화면상에 구현시킨다.

model은 db를 통해 데이터를 추출한다.

Model

  • 어플리케이션이 '무엇'을 할 것인지 정의한다.
  • DB와 연결되어서 데이터를 직접 요청하고 받는 곳으로 데이터를 가지고 controller 와 대화한다.
  • 어플리케이션의 정보, 데이터를 나타내며 이러한 데이터의 가공을 책임지는 컴포넌트이다.

View

  • 단어 그대로 화면에 보여지는 역할을 함
    - 유저가 직접 보는 화면 (HTML/CSS, React)을 보여주는 역할
  • 웹 페이지나 모바일 상에서 사용자에게 보여지는 페이지를 구현
  • controller 와 대화하는 컴포넌트로 controller 에게 액션이나 이벤트를 전달받아서 역할을 수행함

Controller

  • '어떻게' 할지를 정해줌
  • 데이터를 가지고 사용자 인터페이스와 연결시키는 modelview 의 중간다리 역할을 수행
  • receives input, process requests, get data from a model, pass data to the view
  • view 에게 받은 데이터를 가공하여 model 에게 전달(혹은 요청)하거나 model 에게 받은 DB데이터를 view 가 그릴 수 있게 가공하여 전달(혹은 요청)하는 역할을 수행함

MVC Pattern 의 장점

  • 각 로직을 분리하게 되면 향후 수정이 용이하다
  • 동시적인 개발
    - 세 개의 레이어로 역할이 나뉘어져 있기 때문에, 동시 다발적인 개발이 가능하다.
    - 역할 분담에 용이하며 협업이 가능한 프로젝트를 구성할 수 있다.
  • 유지보수 비용을 절감할 수 있다

MVC Pattern 의 단점

  • 다양한 모듈들로 구성되기 때문에 복잡도가 높아진다
  • 설계시간이 오래 걸리고 숙련된 개발자가 필요하다
  • Model 과 View의 완벽한 분리가 어렵다

https://server-engineer.tistory.com/167
https://wwst.tistory.com/23
https://blog.embian.com/49
https://brunch.co.kr/@topherlee/42
https://foamless.tistory.com/456

profile
성장중인 개발자

0개의 댓글