NodeJs.MVC 패턴
2023. 1. 3. 20:51ㆍNodeJs
목차 |
1. 디자인 패턴 |
2. MVC 패턴 |
1. 디자인 패턴
객체지향 프로그래밍 설계시 자주 발생하는 문제들을 피하기 위한 패턴이다.
디자인 패턴은 프로그래밍시의 의사소통 수단이다.
상황에 따라 자주 쓰이는 설계방법을 정리한 코딩 방법론이다.
(단, 디자인 패턴은 하나의 방법론이기 때문에 반드시 적용해야할 필요는 없다.)
디자인 패턴은 한 두가지가 아닌 천가지가 넘게 존재한다.
2. MVC 패턴
MVC 패턴은 디자인 패턴중에 가장 많이 쓰이는 패턴 중 하나이며 프로젝트를 구성할 때, 세 가지 역할로 구분한 패턴이다.
Model, View, Controller의 약어이며 각각의 역할이 정해져 있다.
사실 위의 그림에서 컨트롤러가 뷰에도 영향을 미친다는 점이 조금 아쉽긴하다.
아래는 사용자를 추가하고 컨트롤러가 직접 뷰에도 영향을 미치는 그림이다.
Model
정보, 데이터를 의미하고 이러한 정보들의 가공을 맡고있다. Model에는 다음과 같은 규칙이 존재한다.
- 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야한다.
- 뷰, 컨트롤러에 대해서 어떤 정보도 알지 말아야한다.
- 변경이 일어나면, 변경을 알 수 있는 처리방법을 구현해야한다.
View
사용자 인터페이스 요소를 나타낸다. 데이터를 기반으로 사용자들이 볼 수 있는 화면이다.
- 모델이 가진 정보를 따로 저장해서는 안된다.
- 모델과 마찬가지로 다른 구성요소들을 몰라야한다.
- 모델과 마찬가지로 변경이 일어나면 그 변경에 대한 통지 방법을 구현한다.
Controller
데이터와 UI를 잇는 다리역할을 한다. Controller는 메인 로직을 담당한다.
- 모델, 뷰에 대해 알아야한다.
- 모델, 뷰의 변경을 모니터링해야한다.
왜 사용하는가?
MVC 패턴은 유지보수성, 확장성, 유연성 측면에서 좋고, 또한 중복코딩도 줄여줄 수 있다.
어떻게 역할을 나눌지 정하는 것이 가장 중요한 점이다.
'NodeJs' 카테고리의 다른 글
NodeJs.서버의 분리 실습코드 (0) | 2023.01.04 |
---|---|
NodeJs.서버의 분리와 CORS (0) | 2023.01.04 |
NodeJs.XMLHttpRequest이용하기 (0) | 2023.01.03 |
NodeJs.CRUD 흐름도 (0) | 2022.12.25 |
NodeJs, 네트워크 - 쿠키(Cookie) (0) | 2022.12.25 |