MVC Design Pattern

MVC Design Pattern에 대해서 알아보도록 하겠습니다.

1. What is MVC ?

MVC란 Model View Controller의 약자로 에플리케이션을 세 가지의 역할로 구분한 개발 방법론이다.

사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다.

  • Model : Data 처리를 담당한다.
    일반적으로 CI의 모델은 데이터베이스 테이블에 대응된다. 이를테면 Topic이라는 테이블은 topic_model이라는 Model을 만든다. 그런데 이 관계가 강제적이지 않기 때문에 규칙을 일관성 있게 정의하는 것이 필요하다.
  • Controller : Model을 View에 렌더링한다. 중간다리 역할.
    사용자가 접근 한 URL에 따라서 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려준다.
  • View : 말 그대로 View, 즉 보여지는 것.클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너이다

 

MVC Design Pattern

  1. 웹사이트에 접속한다. (Uses)
  2. Controller는 해당 페이지에 대한 Model 호출 (Manipulates)
  3. 호출된 Model이 Data binding
  4. Controller는 Binding 된 Data를 View에 렌더링
  5. 데이터가 반영된 VIew는 사용자에게 보여진다. (Sees)