Q. MVC 패턴에 대해 설명하시오.
A. 편리한 디자인 패턴 중 하나로, Model, View, Controller의 세가지 역할로 이루어져있다. 사용자가 컨트롤러를 조작하면 모델을 통해 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다.
모델은 애플리케이션의 정보, 데이터를 나타내며 그것을 가공하는 컴포넌트이다. 사용자가 편집하길 원하는 모든 데이터를 갖고 있어야하며, 뷰나 컨트롤러와 완벽하게 분리되어야 한다. 뷰는 데이터를 기반으로 사용자가 볼 수 있는 화면을 나타내며 역시 모델이 가지고 있는 정보를 따로 저장해선 안 된다는 대원칙과, 변경이 일어나면 변경통지에 대한 처리방법을 구현해야 한다. 컨트롤러는 데이터와 인터페이스 요소를 잇는 다리역할로 사용자가 데이터를 조작할 수 있게 이벤트를 처리하는 부분을 뜻한다. 유일하게 다른 요소들과 분리되지 않고 컨트롤러 측에서 알고 있어야하며, 양쪽의 변경을 모두 감지해야한다.
이러한 구조는 각각 맡은 부분만 집중해서 만들 수 있게 해줘서 효율적인 작업이 가능하다. 이 패턴을 사용한 프레임워크는 구글의 Angular.js, PHP의 코드이그나이터, 파이썬의 장고가 있다.
'Sparta > 면접준비' 카테고리의 다른 글
객체지향과 절차지향의 차이/ 함수형 프로그래밍 (0) | 2024.04.25 |
---|---|
해시테이블과 이진 검색트리의 장단점 비교 (0) | 2024.04.24 |
동기 비동기 차이, Deadlock (0) | 2024.04.23 |
그래프와 트리의 차이점/ 이진트리, 힙, 이진검색트리 설명 (0) | 2024.04.19 |
정규화, 무결성에 대해 알아보자 (0) | 2024.04.18 |