일반적으로 CI의 모델은 데이터베이스 테이블에 대응된다
이를테면 Topic이라는 테이블은 topic_model이라는 Model을 만든다
그런데 이 관계가 강제적이지 않기 때문에 규칙을 일관성 있게 정의하는 것이 필요하다
모든 데이터에 대한 정보를 알고 있어야 하며, 이러한 정보들의 가공을 할 수 있어야 한다
Model이 직접 이 변경사항을 화면 UI를 수정할 수 없고, 대신에 이 변경에 해당하는 이벤트를 발생시켜 다른 구성 요소에게 전달하여야 한다.
View는 클라이언트 측 기술인 HTML/CSS/JavaScript들을 모아둔 컨테이너이다.
Model이나 Controller가 user에게 보여주고자 하는 모든 것을 화면에 출력하는 역할이다
화면에 표시만 할 뿐, 표시하기 위해 필요한 정보는 저장하지 않는다
Model과 마찬가지로, UI에 변경이 일어났을 때, 직접 변경을 적용시킬 수 없고, 이를 이벤트화해서 다른 요소에 전달시킬 수 있는 방법을 가지고 있어야 한다.
MVC의 핵심은 각 구성요소를 독립시킴으로써 각 팀으로 하여금 맡은 부분의 개발에만 따로 집중 할 수 있게 하여 개발의 효율성을 높일 뿐만 아니라.
컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능을 묶어서 이르는 말 Create(생성), Read(읽기), Update(갱신), Delete(삭제)
를 묶어서 일컫는 말