일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- CSS
- 자바스크립트 연산자
- css3
- 프론트엔드
- javascript closure
- 자바스크립트 async await
- css 포지션
- 자바스크립트 scope
- 자바스크립트 클로저
- 프론트엔드 리액트
- 리액트 개념
- 자바스크립트 클래스
- 자바스크립트 생성자 함수
- 자바스크립트 실행 컨텍스트
- html 코드
- 자바스크립트 반복문
- 오블완
- javascript
- javascript opreator
- css position
- 리액트 함수형 컴포넌트
- 티스토리챌린지
- 자바스크립트 promise
- 웹 개발 트렌드
- 자바스크립트 상속
- html 주석
- 자바스크립트 프로미스
- HTML
- 자바스크립트
- javascript opreators
- Today
- Total
Multi Developer SuHo
Node js MVC(Model-View-Controller) 패턴이란? 본문
안녕하세요~ 오늘은 MVC 패턴에 대해 알아보겠습니다. MVC 패턴이 무엇이고, 패턴에 대한 내용을 살펴보고 코드를 통해 알아보겠습니다.
📑목차
1. MVC 패턴
1-1. MVC 패턴이란?
1-2. MVC 패턴 구조
1-3. MVC 패턴 목적
1-4. Model
1-5. View
1-6. Controller
1-7. MVC 패턴을 이용한 코드
서론
먼저 이 글을 보시기 전에, 요청과 응답에 대한 이해력이 어느정도 있으시다면 크게 어렵지 않겠습니다. 저도 MVC 패턴에 대해 처음 접해보는거라 모르는 내용이지만 배우는 입장에서 최대한 쉽게 알려드리고자 합니다. 그럼 본문으로 넘어가도록 하겠습니다.
본론
1. MVC 패턴
1-1. MVC 패턴이란?
사용자의 UI와 애플리케이션 로직을 구분하도록 구조적으로 나누는 디자인 패턴
1-2. MVC 패턴 구조
1-3. MVC 패턴 목적
MVC 패턴을 사용하는 목적은 코드의 가독성, 구조화 및 유지보수성을 높이기 위한 목적으로 사용
1-4. Model (데이터와 관련된 모든 로직을 담당)
우선 Model 에서는 DB와 관련된 로직을 담당하고, DB에 대한 정보를 Model 에서 관리합니다. DB에 대한 CRUD 기능 로직도 여기서 담당한다고 보시면 됩니다.
1-5. Views (사용자의 UI 로직 담당)
Views 에서는 사용자의 UI를 제공하기 위해 화면에 렌더링할 요소를 나타내야 합니다. 예를 들면 로그인 페이지가 있다면 로그인 화면을 동적으로 렌더링할 EJS 파일이 되겠죠?
1-6. Controller (Model에서 데이터를 가져와서 데이터를 핸들링하여 Views로 데이터를 전송하는 담당)
Controller 에서는 먼저 Model에서 DB정보를 가져와서 가져온 DB를 핸들링하여 Views로 데이터를 전송하는 담당을 합니다. 예를 들면 Model에 DB정보가 회원 정보가 있다면 Controller에서 회원 정보를 가져오고, 가져온 회원 정보에 대한 기능 로직을 구현합니다. 예를 들면 회원가입 기능을 처리하기 위한 로직이 될 수 있겠죠?
이렇게 3가지의 패턴을 중점으로 MVC 패턴이라고 합니다. 각각 패턴에서 담당하는 로직이 다르기 때문에 코드의 구조화, 유지보수가 증가할 수 있는 이유이기도 합니다.
결론
MVC 패턴을 통해 코드의 모듈화를 실현하여 유지보수성과 확장성을 높일 수 있고, 또한, 각 구성 요소가 분리되어 있어 해당 역할 분담이 명확해지고, 이를 통해 개발 생산성이 향상되며, 협업 시 코드 관리가 용이해질 수 있다는 것을 알게 되었습니다. 이상으로 Node js MVC 패턴에 대해 마칩니다..

'Node.js 기록' 카테고리의 다른 글
Node js Multer 모듈로 이미지 업로드 (0) | 2025.03.13 |
---|---|
Node js [GET 방식과 POST 방식, 요청 객체(Requset), 응답 객체(Response) ] (0) | 2025.03.10 |
Node js 라우터(Router)란? (0) | 2025.03.07 |
Node JS EJS(Embedded JavaScript) 템플릿 엔진에 대하여... (0) | 2025.02.27 |
Node js http 모듈을 활용한 간단한 서버 구축 (0) | 2025.02.24 |