728x90

MVC
📌 MVC 란?
MVC (Model View Controller)는 소프트웨어 설계와 관련된 일종의 디자인 패턴이다.
하나의 파일로 라우팅부터 데이터 처리, ui처리까지 했던 기존의 방식과 달리, model, view, controller으로 기능을 구분하여 사용한다.
MVC 구조의 흐름은 다음과 같다.

- Model: 데이터를 처리하는 부분으로, mysql(DB)에 연결하여 sql query를 실행시키고 결과를 전달한다.
- View: UI 관련된 것을 처리하는 부분이다. (사용자에게 보여지는 부분)
- Controller: View와 Model을 연결해주는 부분이다.
- Router: 경로를 설정하는 부분이다.
도메인에 따라 사용자에게 화면이 보여지는 과정까지 큰 흐름으로 Router - Controller - Model 순서로 살펴보자.
📌 Router
- 보통 폴더명을 'routes'으로 지정한다.
- router 사용을 위해, express 가져와야 한다.
- controller와 연결해야 한다. (express 처럼 require으로 가져옴)
- 경로(도메인)에 따라 controller의 특정 함수와 연결해준다.
- 이 모듈을 외부에서 사용할 수 있도록 module.export 해준다.
- 서버가 실행되는 main js파일에서 router 파일을 변수에 불러온 뒤, app.use로 어떤 도메인에서 해당 router가 실행될지 설정해줘야 한다.
📌 Controller
- 경로에 따라 연결될 함수를 정의한다. (req, res 객체 사용 가능)
- 함수를 exports 해야, routes에서 사용할 수 있다.
- model과 연결해야 한다. (require로 가져옴)
📌 Model
- DB(mysql)와 연결하여, sql문으로 DB를 관리한다.
- 함수를 exports 해야, controller에서 사용할 수 있다.
728x90
'포스코x코딩온 웹 풀스택 양성과정' 카테고리의 다른 글
| [포스코x코딩온] 웹 풀스택 과정 7주차 회고 | Cookie와 Session (0) | 2024.03.29 |
|---|---|
| [포스코x코딩온] 웹 풀스택 과정 6주차 회고 | Sequelize (0) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 5주차 회고 | 데이터베이스 - MySQL (1) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 5주차 회고 | 파일 업로드(multer) (0) | 2024.03.29 |
| [포스코x코딩온] 웹 풀스택 과정 5주차 회고 | 동적 form 전송 (0) | 2024.03.29 |