2024. 4. 11. 21:52ㆍ내일배움캠프
4월 11일
요즘 하루 일과는 알고리즘 문제풀이 최종 프로젝트 진행 면접 준비의 반복이다
오늘은 면접 관련 질문들 중에서 MVC 패턴에 대해서 알아보도록 하겠다.
MVC 패턴
MVC 패턴은 디자인 패턴중 하나인데
Model, View, Controller의 앞글자만 따서 MVC 패턴이라고 한다.
구글에 MVC 패턴이라 검색하면 맨 위에 보이는 이미지다
뭔가 어려워 보이지만 게임으로 MVC패턴을 봐보자
유저는 게임 화면에 보이는 플레이어 캐릭터를 보고있을것이다(View). 캐릭터를 움직이고 싶어 키보드던 마우스던
어떤 컨트롤러를 조작한다면?(Controller) 컨트롤러는 모델을 통해 데이터를 가져와서(Model) 사용자가 보고있던 플
레이어 캐릭터(View)를 제어하여 움직이는 캐릭터를 보여줄것이다.
자 이렇게 MVC 패턴이 어떻게 돌아가는지 먼저 알아보았는데
그렇다면 컨트롤러 모델 뷰에 대해서 더 자세히 알아보자
모델
모델은 애플리케이션의 정보, 데이터를 나타낸다 데이터 베이스, 상수, 초기화 값, 변수 등을 뜻하며 이러한 Data 정보들의 가공을 책임지는 컴포넌트다
모델은 다음과 같은 규칙을 가지는데
1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다
2. 뷰 와 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다
3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야한다
뷰
input 텍스트 체크박스 항목 등과 같은 사용자 인터페이스 요소를 말한다 화면에 보여지는 출력을 담당하는데
데이터를 기반으로 사용자들이 볼 수 있는 화면이다.
뷰는 다음과 같은 규칙을 가지는데
1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.
2. 모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 한다.
3. 변경이 일어나면 변경 통지에 대한 처리 방법을 구현해야한다.
컨트롤러
모델 뷰를 이어주는 즉 컨트롤러에서 어떠한 동작을하면 해당 동작에 관련된것을 모델에서 받아와 뷰를 컨트롤해주는 다리 역할을 한다. 사용자가 데이터를 클릭하고 수정하는 것에 대한 이벤트 들을 처리하는 부분을 말한다.
컨트롤러는 다음과 같은 규칙을 가지는데
1. 모델이나 뷰에 대해서 알고 있어야 한다.
2. 모델이나 뷰의 변경을 모니터링 해야 한다.
MVC 패턴을 사용하는 이유는 사용자가 보는 뷰 그리고 뷰에대한 데이터 처리를 담당하는 모델
뷰와 모델 중간에서 제어하는 컨트롤 3가지로 구성된 MVC 패턴은
모델 뷰 컨트롤러가 각자의 역할에 집중할 수 있게끔하여 유지 보수성, 확장성, 유연성이 증가하게끔 해주는 패턴이다.
오늘은 MVC 패턴에 대해 알아보았다.
결국 MVC도 디자인 패턴 중의 하나였고 각 모델 뷰 컨트롤러가 어떤 역할을 하는지
어떤 규칙을 가졌는지 알 수 있었다.
4월 11일 TIL은 여기서 마치도록 하겠다.
'내일배움캠프' 카테고리의 다른 글
240415-TIL (0) | 2024.04.15 |
---|---|
240412-TIL (0) | 2024.04.12 |
240409-TIL (0) | 2024.04.09 |
240404-TIL (0) | 2024.04.04 |
240403-TIL (0) | 2024.04.03 |