MVC pattern
MVC pattern
MVC pattern이란
- 사용자 인터페이스로부터 비즈니스 로직을 분리하는 디자인 패턴.
- 애플리케이션을 Model, View, Controller 세 가지 구성 요소로 구분.
- 웹 애플리케이션 개발에 널리 사용.
- 각 구성 요소들의 기능이 명확해지기 때문에 확장성, 유연성, 유지 보수 등의 이점이 있음.
Model
- 애플리케이션의 데이터를 가지고 있고 비즈니스 로직을 담당하는 부분.
- 뷰나 컨트롤러에 대한 정보가 없음.
- 데이터 상태가 변경되면 이벤트를 발생시켜 뷰나 컨트롤러에게 알려 줌.
View
- 애플리케이션의 레이아웃과 화면. 데이터를 보여주는 방식을 담당.
- 모델로부터 필요한 데이터를 받아옴. 이 정보를 뷰 내부에 저장하지 않음.
- 모델 및 컨트롤러에 대한 정보가 없음.
Controller
- 사용자가 발생한 이벤트를 처리하는 부분.
- 모델에 필요한 사용자 입력을 통해 데이터를 요청하고, 데이터를 뷰에 반영해 사용자에게 알려 줌.
- 모델 및 뷰에 대한 정보가 있어야 하고, 이들의 변경 사항을 모니터링함.
웹에서의 MVC
- 웹 애플리케이션은 주로 MVC 패턴을 따르거나 유사하게 설계됨.
- Model: DB와 서버에서 수행되고, 데이터를 제어하고 결과를 컨트롤러에게 반환하는 부분.
- View: HTML / CSS등으로 작성되고, 클라이언트에서 사용자에게 화면을 보여 주는 부분.
- Controller: HTML / JS등으로 작성되고, model이 반환한 결과를 view에게 제공하는 등의 역할을 수행.
References
- https://developer.mozilla.org/ko/docs/Glossary/MVC
- https://m.blog.naver.com/jhc9639/220967034588
- https://cocoon1787.tistory.com/733
- https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller