모델-뷰-컨트롤러 패턴

Jmnote (토론 | 기여)님의 2016년 1월 26일 (화) 18:46 판 (→‎같이 보기)

1 개요

Model–View–Controller, MVC
모델-뷰-컨트롤러, MVC 패턴
  • UI와 로직이 분리되어 한쪽 모듈 수정시 서로 영향 적음.[1]
  • 소프트웨어 아키텍처[2]
  • 모델(데이터, 로직), 뷰(UI, 디스플레이), 컨트롤러(이벤트 상호작용)
  • 기능확장, 코드 유지보수가 용이함
  • 유저 인터페이스와 비지니스 로직 분리
  • DRY 유지 편이성, 코드 관리 편이성

2 구성

요소 설명
모델
  • 데이터 구조 표현
  • 기능과 데이터 제공
  • 비즈니스 로직(+DAO) 담당
  • 데이터를 추출, 입력, 갱신하는 함수 포함
  • 모델의 상태 출력
  • 사용자에게 응답
  • 사용자에게 보이는 부분
  • 웹페이지 또는 그 일부, RSS 등의 출력
컨트롤러
  • 사용자 입력[3] 처리
  • 모델이나 뷰를 변경
  • 모델과 뷰 사이에서 동작하며 비즈니스 로직 처리
  • 핵심적인 흐름

 

 

 

3 변형판

4 같이 보기

5 주석

  1. 화면구성(UI)은 View가, 로직은 Controller가 담당하도록 함
  2. MVC는 디자인 패턴 중 하나로 볼 수도 있지만, 가장 큰 틀이 되므로 소프트웨어 아키텍처라고 하는 것이 적절하다.
  3. 물론 사용자 입력을 직접 받는 곳은 View이다. 컨트롤러는 해당 이벤트의 실질적인 처리를 담당함

6 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}