반응형
MVC 패턴이란?(링크로 이동)
에플리케이션을 세가지의 역할로 구분한 개발 방법론이다
소프트웨어 디자인 패턴 중 하나이다.
M = [Model] 애플리케이션의 정보(데이터)
V = [View] 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소
C = [Controller] 데이터와 비즈니스 로직 사이의 상호동작을 관리
- 사용자가 웹사이트에 접속한다. (Uses)
- Controller는 사용자가 요청한 웹페이지를 서비스 하기 위해서 모델을 호출한다. (Manipulates)
- 모델은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
- Controller는 Model이 리턴한 결과를 View에 반영한다. (Updates)
- 데이터가 반영된 VIew는 사용자에게 보여진다. (Sees)
디자인 패턴을 사용하는 이유
소수의 뛰어난 엔지니어가 해결한 문제를 다수의 엔지니어들이 처리 할 수 있도록 한 규칙이다.
구현자들 간의 커뮤니케이션의 효율성을 높이는 기법이다.
MVC 패턴을 사용하는 이유
서로 분리되어 각자의 역할에 집중할 수 있게끔하여 개발을 하고 그렇게 애플리케이션을 만든다면,
- 유지보수성
- 애플리케이션의 확장성
- 유연성 증가(클라이언트의 새로운 요구사항에 대해 최소한의 비용으로 보다 유연하게 대처)
- 중복코딩의 문제점 감소
클라이언트의 새로운 요구사항에 대해 최소한의 비용으로 보다 유연하게 대처
Model View Controller 각자의 역할
Model |
처음에 정의하는 상수, 초기화값, 변수 등을 뜻합니다. 또한 DATA 정보들의 가공을 책임지는 컴포넌트를 말합니다. (데이터베이스) |
View |
클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너. |
Controller |
사용자가 접근 한 URL에 따라 요청사항을 파악한 후, 그 요청에 맞는 데이터를 Model에 의뢰 및 View에 반영해서 사용자에게 알려준다. |
참고자료
반응형
'프로그래밍언어 & 프레임워크 > JavaScript' 카테고리의 다른 글
DOM에 대해 잘 정리되어 있는 사이트들(DOM이란?) (0) | 2021.02.16 |
---|---|
자바스크립트 객체(Object) (0) | 2021.02.13 |
null과 undefined 차이(자바스크립트[JavaScript]) (0) | 2021.02.09 |
자바스크립트 변수 명명 규칙들 (0) | 2021.02.08 |
자바스크립트(JavaScript)란? (0) | 2021.02.07 |