관리 메뉴

흰둥씨의 개발장

[디자인패턴] MVC패턴 본문

[오늘의 공부]/디자인패턴

[디자인패턴] MVC패턴

돈워리비해삐 2024. 1. 16. 01:04

MVC패턴

: App의 구성요소를 모델(Model), 뷰(View), 컨트롤러(Controller)로 구분한 패턴 

- 장점 : 재사용성, 확장에 용이함
- 단점 : 애플리케이션 규모가 크고 복잡해질수록 모델-뷰 관계가 복잡해지는 경향있음

 

모델의 역할 ? 데이터 자체
-서버에서 온 데이터 등... 어디엔가 저장해둔 정보 (=> 장바구니안에 상품, 몇개담았는지 수량)

 

뷰의 역할
- user interface요소 (=> 장바구니를 어떻게 보여주는지에 대한 내용)
- HTML + CSS로 그려진 화면단 관련 요소들
- 데이터를 별도로 저장하지 않음

 

컨트롤러의 역할 ? 모델과 뷰 사이 중간 다리 역할
- 뷰에서 변경된 내용이 있으면 컨트롤러에게 알려서 모델에서 저장, 갱신함
- 모델에서 변경된 내용이 있으면 컨트롤러에게 알려줘서 뷰 갱신해 줌 

즉, 컨트롤러는 프론트의 메인 로직을 갖고 있음 
(서버의 데이터를 받아서 뷰한테 전달하는 역할, 뷰에서 받은 이벤트를 처리해서 서버에 데이터 전달하는 역할 ... )

참고한 글: 

https://developer.mozilla.org/ko/docs/Glossary/MVC
https://yozm.wishket.com/magazine/detail/1663/

 

'[오늘의 공부] > 디자인패턴' 카테고리의 다른 글

[디자인패턴] Flux 패턴  (2) 2024.01.25
[디자인패턴] MVVM ~ Container-Presenter  (0) 2024.01.18