14. MVC 패턴(MVC Pattern)
정의
컴포넌트를 데이터를 저장하는 모델, 실제 사용자에게 보이는 뷰, 모델과 뷰 사이에서 중재자 역할을 하는 컨트롤러로 나누어 독립적인 역할을 부여하는 패턴
목적
코드의 재사용성을 높이고 코드 변경 요청에 쉽게 대처할 수 있도록 기능에 따라 구조를 분리
Model
패턴 내에서 사용되는 모든 데이터가 저장된 공간
Model은 View와 Control에 대해서 그 어떤 정보도 알지 못함
Controller로부터 받은 데이터를 가공, 처리
Observer 패턴을 이용해 모델이 변경되면 등록된 View, Controller에 변경사항을 공지한다.
View
사용자가 직접 보여져야할 디자인 부분
Model이나 Controller의 동작 방식은 알지 못하고 오직 받은 데이터를 화면에 구성시키는 일만을 진행
Controller
Model과 View사이에서 입력받거나 읽어 들인 데이터를 보낼 목적지를 정하는 중재자
Model과 View의 변경을 모니터링하고 상호 통보한다.
View의 사용자의 입력을 Command패턴을 이용해 위임받아 Model로 보낸다.
장점
컴포넌트가 기능별로 분리되어 코드의 재사용, 확장이 용이해져 유지보수가 편해진다.
하나의 모델로 여러 개의 뷰를 구성할 수 있다.
단점
뷰는 모델을 이용하기 때문에 서로간의 의존성을 완전히 지울 수 없다.
0 개의 댓글 :
댓글 쓰기