모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. User가 Controller를 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어하여 사용자에게 전달하게 됩니다.
출처: MVC - wikipedia
모델(model)이란 어플리케이션에서 사용되는 데이터를 의미합니다.
모델 규칙
뷰(View)란 사용자 인터페이스 요소를 나타냅니다. 다시 말해 데이터 및 객체의 입력, 그리고 보여주는 출력을 담당합니다.
뷰 규칙
컨트롤러(Controller)란 데이터와 사용자인터페이스 요소들을 잇는 다리역할을 합니다. 모델에 명령을 보냄으로써 뷰의 상태를 변경할 수 있습니다.
컨트롤러 규칙
장점
각 기능 단위 별로 나눠서 처리하기 때문에 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있습니다.
한계
뷰와 모델이 서로 의존성을 띄게 됩니다. 즉, Controller에 다수의 Model과 View가 복잡하게 연결되어 있는 상황이 발생할 수 도 있습니다.