MVC | Model, View, Controller
MVC 패턴이란, 소프트웨어 디자인 패턴 중 하나로, UI를 개발할 때 흔하게 사용된다. MVC 패턴은 어플리케이션을 세 가지 부분 model, view, controller 으로 나눈다. 이렇게 역할에 따라 Layer를 나눔으로써 더 쉽게 코드를 테스트할 수 있고, 유지보수 할 수 있다.
만약 역할을 나누지 않고, 리액트 컴포넌트 안에 네트워크 통신을 하는 로직을 작성했다면, ??? 컴포넌트의 유닛테스트에 네트워크 통신에 대한 테스트도 포함된다. 즉, 유닛 테스트를 할 때 마다 네트워크 통신이 발생하게 되는데, 이것은 매우 나쁜 상황이다. 이것을 막기 위해 layer를 나누는 MVC 모델을 이용하는 것이기도 하다.
아래에 살펴볼 Dependency Injection을 이용해서 네트워크 통신을 하는 클래스를 컴포넌트에 주입하면, 즉 Layer를 나누어 어플리케이션을 개발하면, 유닛테스트를 할 때에는 다른 클래스(간단하고 빠른 클래스 = dummy, mock class라고 부른다)를 주입함으로써 빠르게 유닛테스트를 진행할 수 있다.
- Model
- The central component of the pattern.
- It is the application's dynamic data structure, independent of the user interface. It directly manages the data, logic and rules of the application.
- View => React
- Any representation of information(정보의 표현, 즉 사용자에게 정보를 제공하는 것) such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.
- view layer에서 하는 일은 사용자에게 데이터를 보여주고, 사용자의 이벤트(클릭, 키보드 입력 등)를 등록하는 것?이다.
- Controller
- Accepts input and converts it to commands for the model or view.
'Study > React' 카테고리의 다른 글
Component & Props (0) | 2022.06.16 |
---|---|
What is React? (0) | 2022.06.16 |
PostCSS (0) | 2022.04.23 |
Deployment (0) | 2022.04.22 |
Function Component | memo, React Hooks (0) | 2022.04.22 |