MVC(Model, View, Control)패턴의 정의

MVC란 Model View Controller의 약자이다. 즉, 애플리케이션의 구성요소를 Model, View, Controller로 구분지어 개발함으로써 표현계층과 데이터를 처리하는 로직을 분리한다. 이 과정을 통해 중복적인 코딩을 미연에 방지 할 수 있으며 재사용성을 높일 수 있는 디자인 패턴이다. 애플리케이션의 흐름제어나 사용자의 처리요청은 컨트롤러에 집중되도록 고안되어 있다. 일반적으로 웹 애플리케이션 개발에 널리 사용된다. MVC 패턴이 가지는 구조는 다음과 같다.


위 그림에서 보이듯, 사용자는 Controller를 조작하고, Controller는 Model을 이용하여 데이터를 가져온다. 해당 데이터를 기반으로 시각적인 표현에 대한 기능을 수행하는 View를 컨트롤하여 사용자에게 실질적으로 전달된다.


 Web과 MVC

  1. 사용자가 웹사이트에 접속한다. (Uses)
  2. Controller는 사용자가 요청한 웹페이지를 서비스 하기 위해서 모델을 호출한다. (Manipulates)
  3. 모델은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후에 그 결과를 리턴한다.
  4. Controller는 Model이 리턴한 결과를 View에 반영한다. (Updates)
  5. 데이터가 반영된 VIew는 사용자에게 보여진다. (Sees)
(발췌된 내용 입니다. 출처 : https://opentutorials.org/course/697/3828)


◐ Codelgniter와 MVC

Controller

사용자가 접근 한 URL에 따라서 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려준다. 

Model

일반적으로 CI의 모델은 데이터베이스 테이블에 대응된다. 이를테면 Topic이라는 테이블은 topic_model이라는 Model을 만든다. 그런데 이 관계가 강제적이지 않기 때문에 규칙을 일관성 있게 정의하는 것이 필요하다.

View

View는 클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너이다. 

(발췌된 내용 입니다. 출처 : https://opentutorials.org/course/697/3828)


위에 출처로 남겨진 링크로 이동하면 동영상 강의로 잘 설명되어 있다.

+ Recent posts