Computer Science/CS Knowledge

MVC

무니화니 2024. 2. 15. 18:16

MVC 패턴이란 모델, 뷰, 컨트롤러 영역으로 각각 세 가지 영역으로 분할하여 각 요소에 고유의 역할이 부여되는 방식이다. 모델은 데이터를, 뷰는 사용자에게 보이는 UI, 컨트롤러는 비즈니스 로직 처리를 맡는다. 

모델은 앱이 무엇을 할 건지 역할을 정의한다. 필요한 정보에 따라, 기능과 데이터를 정의한다. 뷰는 모델에서 받아온 데이터, 사용자의 결괏값을 화면으로 보여주는 역할을 하는데, 뷰는 여기서 출력을 해주는 역할만 한다. 마지막으로 컨트롤러는 모델과 뷰 사이를 연결하여 작동순서, 모델 처리에 대한 지시를 맡아서 한다. 웹 개발자들은 MVC를 통해 한 부분을 업데이트하고, 관리, 수정할 때 모든 부분을 바꾸는 것이 아니라, 각자 컴포넌트들이 독립적이기 때문에 한 부분만 해도 된다는 장점이 있다. 이런 개발 효율성을 높인다는 점에서 MVC가 사랑을 받지만, 프로그램 구조가 커지게 되면 모델과 뷰가 복잡하게 연결되게 된다. 그래서 여기서 파생된 MVP와 MVVM 패턴들이 탄생되었다.

 

MVP 패턴은 모델, 뷰, 프레젠터로 이루어져있고, 뷰와 모델이 오로지 프레젠터로만 동작하도록 설계된다. MVVM은 모델, 뷰, 뷰 모델로 이루어져 있다. 여기서 뷰 모델은 뷰를 표현하기 위해 만든 모델이다. 사용자의 행동이 action을 통해 들어오게 되면, view model에 전달하고, 모델에 이를 다시 재요청한다. 이후 뷰 모델은 데이터를 가공하여 저장하게 되고, 화면을 나타낸다.

'Computer Science > CS Knowledge' 카테고리의 다른 글

Port, URI  (0) 2024.02.19
OSI, TCP/UDP  (0) 2024.02.18
Cache / Cookie / Session  (0) 2024.02.14
CSR, SSR  (0) 2024.02.14
반응형/적응형 웹 , DOM, 크롤링 (robots.txt)  (0) 2024.02.11